亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? image.cpp

?? Program to find the Image Statistics of the given Image.
?? CPP
字號:
#ifndef __IMAGE_H
#define __IMAGE_H
#include "stdafx.h"
//#define WIDTH	512
//#define HEIGHT	512

#include "Image.h"
#include <cmath>
#include <iostream>
//#endif
int HEIGHT,WIDTH;
int OFFSET;
int ISIZE;
unsigned char *m_cHeaderData;
using namespace std;

typedef unsigned char uchar;

///////////////////////////////structure //////////////////////////////////////
#pragma pack(2) /*2 byte packing */ 
	typedef struct 
	{ 
		unsigned short type; 
		unsigned long size; 
		unsigned short  reserved1,reserved2; 
		unsigned long offset; 
	}Header; 

	#pragma pack() /* Default packing */ 

	typedef struct 
	{ 
		unsigned long size; 
		long width,height; 
		unsigned short planes;
		unsigned short bits; 
		unsigned int compression; 
		unsigned int imagesize; 
		int xresolution,yresolution; 
		unsigned int ncolors; 
		unsigned int importantcolors; 
	}Infoheader; 

   Header headfirst; 
   Infoheader headsecond; 
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
// Constructor
///////////////////////////////////////////////////////////////////////////////

CImage::CImage(const char* filename)
{


	ifstream m_pInFile (filename, ios::in|ios::binary);
	m_pInFile.read ((char*)&headfirst.type, sizeof(headfirst.type));
        m_pInFile.read ((char*)&headfirst.size, sizeof(headfirst.size));
        m_pInFile.read ((char*)&headfirst.reserved1, sizeof(headfirst.reserved1) );
        m_pInFile.read ((char*)&headfirst.reserved2, sizeof(headfirst.reserved2) );
        m_pInFile.read ((char*)&headfirst.offset, sizeof(headfirst.offset));

		cout<<"\n########################################################";
		cout<<"\nTYPE : "<<headfirst.type;
		cout<<"\nSIZE : "<<headfirst.size;
		cout<<"\nOFFSET : "<<headfirst.offset;
		
		cout<<"\n########################################################";

		OFFSET = headfirst.offset;

		m_pInFile.read ((char*)&headsecond.size, sizeof(headsecond.size));
		m_pInFile.read ((char*)&headsecond.width, sizeof(headsecond.width));
		m_pInFile.read ((char*)&headsecond.height, sizeof(headsecond.height));
		m_pInFile.read ((char*)&headsecond.planes, sizeof(headsecond.planes));
		m_pInFile.read ((char*)&headsecond.bits, sizeof(headsecond.bits));
		m_pInFile.read ((char*)&headsecond.compression, sizeof(headsecond.compression));
		m_pInFile.read ((char*)&headsecond.imagesize, sizeof(headsecond.imagesize));
		m_pInFile.read ((char*)&headsecond.xresolution, sizeof(headsecond.xresolution));
		m_pInFile.read ((char*)&headsecond.yresolution, sizeof(headsecond.yresolution));
		m_pInFile.read ((char*)&headsecond.ncolors, sizeof(headsecond.ncolors));
		m_pInFile.read ((char*)&headsecond.importantcolors, sizeof(headsecond.importantcolors));


		cout<<"\n########################################################";
		cout<<"\nSIZE : "<<headsecond.size;
		cout<<"\nWIDTH: "<<headsecond.width;
		cout<<"\nHEIGHT : "<<headsecond.height;
		cout<<"\nCOLORS: "<<headsecond.ncolors;
		cout<<"\nIMAGE SIZE: "<<headsecond.imagesize;
		cout<<"\nbits SIZE: "<<headsecond.bits;
		cout<<"\n########################################################";
		HEIGHT = headsecond.height;
		WIDTH = headsecond.width;
		ISIZE = headsecond.imagesize;
   /////////////////////////////////////////////////

	//printf("\n sizeof2  %d",sizeof(headsecond));


///////////////////////////////////////////////////
	m_pInFile.close();

	m_cHeaderData = new uchar [OFFSET];
	m_cImageData = new uchar* [HEIGHT];
	m_cFilteredData = new uchar* [HEIGHT];
	for( int i = 0; i < HEIGHT; i++)
	{
		m_cImageData[i] = new uchar [ISIZE/HEIGHT];
		m_cFilteredData[i] = new uchar [ISIZE/HEIGHT];
	}
	
	m_pInFile1 = new ifstream;

	m_pInFile1->open(filename, ios::in | ios::binary);
	m_pInFile1->seekg(0, ios::beg);
	m_pInFile1->read(reinterpret_cast<char*>(m_cHeaderData),OFFSET);

	//cout<<"\nData -> "<<m_cHeaderData;
	
	cout<<"\nvalue of HEIGHT : "<<HEIGHT;
	cout<<"\nvalue of WIDTH : "<<WIDTH;
	cout<<"\nSIZE OF F-HEADER : "<<sizeof(headfirst);
	cout<<"\nSIZE OF I-HEADER : "<<sizeof(headsecond);


	for(int i = 0; i < HEIGHT; i++)
	{

		m_pInFile1->read(reinterpret_cast<char *>(m_cImageData[i]), ISIZE/HEIGHT);


	}

	m_pInFile1->close();

	// define the filter for the image
	char m_cFilter[3][3] = {
								{1, 1, 1},
								{1, 2, 1},
								{1, 1, 1}
							};
}//Constructor Closing 

///////////////////////////////////////////////////////////////////////////////
// Destructor
///////////////////////////////////////////////////////////////////////////////

/*CImage::~CImage()
{
	delete m_pInFile;
	delete m_pOutFile;
	for(int i = 0; i < HEIGHT; i++)
	{
		delete[] m_cImageData[i];
		delete[] m_cFilteredData[i];
	}
	delete[] m_cImageData;
	delete[] m_cFilteredData;

}*/

///////////////////////////////////////////////////////////////////////////////
// Output the filtered image to a new bitmap file
///////////////////////////////////////////////////////////////////////////////

void CImage::write(const char* filename)
{

	filter();
	m_pOutFile = new ofstream;
	
	m_pOutFile->open(filename, ios::out | ios::trunc | ios::binary);


	////////////////////////////////////////////////////////////////////
		//m_pOutFile->write ((char*)&headfirst, sizeof(headfirst));
		//m_pOutFile->write ((char*)&headsecond, sizeof(headsecond));

	/////////////////////////////////////////////////////////////////////
	m_pOutFile->write(reinterpret_cast<char*>(m_cHeaderData), OFFSET); 
	for(int i = 0; i < HEIGHT; i++)
	{
		m_pOutFile->write(reinterpret_cast<char*>(m_cFilteredData[i]), ISIZE/HEIGHT);
	}
	m_pOutFile->close();
	cout<<"Aswathy hii";
}


///////////////////////////////////////////////////////////////////////////////
// Calculate the mean of all the pixels
///////////////////////////////////////////////////////////////////////////////

float CImage::mean()
{
	float total = 0;
	for(int i = 0; i < HEIGHT; i++)
	{
		for(int j = 0; j < WIDTH; j++)
		{
			total += m_cImageData[i][j];
		}
	}
			return (total / (HEIGHT * WIDTH));

}


///////////////////////////////////////////////////////////////////////////////
// Calculate the mode of the image
///////////////////////////////////////////////////////////////////////////////


float CImage::mode()
{
float mode = 0;
float Arr[256];
for(int l=0;l<=255;l++)
	  {
		Arr[l]=0;
	  }
      for (int i = 0; i < HEIGHT; i++) 
	  {
		  for(int j = 0; j < WIDTH; j++)
		  {

			Arr[m_cImageData[i][j]]+=1;

		  }
      }
	  //mode = 0;
	  float Arr2 = Arr[0];
	  for(int h=1;h<=255;h++)
	  {
		  //cout <<"  Arr["<<h<<"] = "<<Arr[h];
			if (Arr2<=Arr[h])
				mode = h;

	  }
   return (mode);
}



///////////////////////////////////////////////////////////////////////////////
// Calculate the median of the image
///////////////////////////////////////////////////////////////////////////////

float CImage::median()
{
float mode = 0;
float Arr[256];
for(int l=0;l<=255;l++)
	  {
		Arr[l]=0;
	  }
      for (int i = 0; i < HEIGHT; i++) 
	  {
		  for(int j = 0; j < WIDTH; j++)
		  {

			Arr[m_cImageData[i][j]]+=1;
		

		  }
      }

	  float temp;
	  for(int k = 0; k<256;k++)
	  {
		  for(int b = k+1;b<256; b++)
		  {
			  if(Arr[k]<Arr[b])
			  {
					temp = Arr[k];
					Arr[k] = Arr[b];
					Arr[b] = temp;
			  }


		  }

	  }

	
	  if((HEIGHT*WIDTH)%2 == 0)
	  {
		
		  //cout<<"Even "<<Arr[255/2]+1;
		  return(Arr[255/2]+1);
	  }
	  else
	  {
		  //cout<<"Odd "<<Arr[255/2];
		return(Arr[255/2]);
	  }

}




///////////////////////////////////////////////////////////////////////////////
// Calculate the standard deviation of all the pixels
///////////////////////////////////////////////////////////////////////////////

float CImage::stdv()
{
	float avg = mean();
	float radicand = 0;

	for(int i = 0; i < HEIGHT; i++)
	{
		for(int j = 0; j < WIDTH; j++)
		{
			radicand += (m_cImageData[i][j] - avg) * (m_cImageData[i][j] - avg);
		}
	}

	radicand /= (HEIGHT * WIDTH);
	
	return sqrt(radicand);
}	

///////////////////////////////////////////////////////////////////////////////
// Return Height of the Image
///////////////////////////////////////////////////////////////////////////////
int CImage::Img_Height()
{
	return HEIGHT;
}

///////////////////////////////////////////////////////////////////////////////
// Return Width of the Image
///////////////////////////////////////////////////////////////////////////////
int CImage::Img_Width()
{
	return WIDTH;
}


///////////////////////////////////////////////////////////////////////////////
// Filter all the pixels
///////////////////////////////////////////////////////////////////////////////

void CImage::filter()
{
	int sumofpixels = 0;

	for(int i = 0; i < HEIGHT; i++)
	{
		strcpy(reinterpret_cast<char*>(m_cFilteredData[i]), reinterpret_cast<char*>(m_cImageData[i]));
	}


	for( int i = 1; i < HEIGHT - 1; i++)
	{
		for(int j = 1; j < WIDTH - 1; j++)
		{
		
			sumofpixels =	m_cFilter[0][0] * m_cImageData[i+1][j-1] + // top left corner
							m_cFilter[0][1] * m_cImageData[i+1][j] + // top center
							m_cFilter[0][2] * m_cImageData[i+1][j+1] + // top right corner
							m_cFilter[1][0] * m_cImageData[i][j-1] + // center left
							m_cFilter[1][1] * m_cImageData[i][j] + // center center
							m_cFilter[1][2] * m_cImageData[i][j+1] + // center right
							m_cFilter[2][0] * m_cImageData[i-1][j-1] + // bottom left corner
							m_cFilter[2][1] * m_cImageData[i-1][j] + // bottom center
							m_cFilter[2][2] * m_cImageData[i-1][j+1]; // bottom right corner
			
			m_cFilteredData[i][j] = (sumofpixels / (m_cFilter[0][0] + m_cFilter[0][1] +
													m_cFilter[0][2] + m_cFilter[1][0] +
													m_cFilter[1][1] + m_cFilter[1][2] +
													m_cFilter[2][0] + m_cFilter[2][1] +
													m_cFilter[2][2]) );
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久亚洲一区二区三区青草| 91精品国产免费| 一区二区三区在线影院| 色乱码一区二区三区88| 亚洲一区二区精品视频| 欧美日本一区二区三区四区| 美女免费视频一区二区| 久久九九99视频| 99精品视频一区| 五月婷婷激情综合网| 日韩亚洲国产中文字幕欧美| 国产一二三精品| 亚洲色欲色欲www| 7777精品伊人久久久大香线蕉完整版| 久久er99精品| 国产精品美女久久久久久2018 | yourporn久久国产精品| 一区二区三区在线播放| 日本成人在线看| 久久日一线二线三线suv| 99国产精品久久久久久久久久久 | av电影在线观看一区| 亚洲一区二区三区精品在线| 日韩精品一区二区三区swag | 亚洲视频在线观看一区| 裸体健美xxxx欧美裸体表演| 亚洲精品一区二区三区四区高清| 懂色av一区二区在线播放| 一区二区三区av电影| 日韩免费一区二区三区在线播放| 成人网男人的天堂| 亚洲高清免费观看| 精品成人a区在线观看| 91毛片在线观看| 开心九九激情九九欧美日韩精美视频电影| 中文字幕精品—区二区四季| 欧美色窝79yyyycom| 国产在线国偷精品产拍免费yy| 亚洲日本成人在线观看| 欧美一二三区在线观看| 91在线免费播放| 美日韩一区二区| 亚洲美女区一区| 久久亚洲一区二区三区明星换脸| 色综合激情五月| 国产一区二区三区在线观看精品| 亚洲最快最全在线视频| 国产一二精品视频| 亚洲午夜久久久| 国产日韩欧美高清在线| 欧美日韩综合在线免费观看| 国产69精品一区二区亚洲孕妇| 午夜精品久久久久影视| 国产精品美日韩| 欧美刺激脚交jootjob| 色一区在线观看| 国产经典欧美精品| 亚洲中国最大av网站| 亚洲免费毛片网站| 精品国产欧美一区二区| 欧美日韩日本视频| 成人深夜在线观看| 久久99久久99| 亚洲国产成人va在线观看天堂| 欧美激情一区二区| 精品久久免费看| 欧美日本精品一区二区三区| 91免费观看视频在线| 国产精品一卡二卡| 日本欧洲一区二区| 亚洲一区二区五区| 1000精品久久久久久久久| 久久精品人人做人人爽人人| 日韩电影免费一区| 亚洲激情网站免费观看| 国产精品视频免费看| 2023国产精品视频| 91精品国产色综合久久久蜜香臀| 色噜噜狠狠一区二区三区果冻| 成人中文字幕合集| 国产乱国产乱300精品| 欧美aaa在线| 午夜欧美一区二区三区在线播放| 亚洲欧美另类图片小说| 国产精品久久久久久久第一福利 | 日韩一区二区免费在线观看| 日本高清无吗v一区| 99re这里只有精品6| 国产电影一区二区三区| 久久99国产乱子伦精品免费| 喷水一区二区三区| 日韩精品免费视频人成| 亚洲成av人片一区二区三区| 在线观看亚洲a| 日韩1区2区日韩1区2区| 国产精品夜夜嗨| 奇米色一区二区三区四区| 欧美吻胸吃奶大尺度电影| 99精品国产一区二区三区不卡| 国产黄人亚洲片| 国产另类ts人妖一区二区| 国产自产高清不卡| 韩国一区二区三区| 精品无人码麻豆乱码1区2区| 毛片不卡一区二区| 久久精品国产一区二区| 久久99精品久久久久久动态图 | 亚洲精品视频在线| 亚洲精品视频免费观看| 亚洲免费在线观看| 亚洲人成网站在线| 一区二区三区四区亚洲| 一区二区三区在线播放| 亚洲国产综合人成综合网站| 亚洲午夜私人影院| 日韩va欧美va亚洲va久久| 日本不卡一区二区| 另类小说欧美激情| 国产美女一区二区| 成人午夜伦理影院| 91一区二区三区在线播放| 色又黄又爽网站www久久| 欧美在线观看视频一区二区三区| 欧美日韩欧美一区二区| 337p亚洲精品色噜噜噜| 精品欧美一区二区三区精品久久| 久久婷婷色综合| 国产精品久久夜| 一区二区三区免费在线观看| 亚洲第一福利一区| 蜜臀a∨国产成人精品| 韩国理伦片一区二区三区在线播放| 国产寡妇亲子伦一区二区| 成人国产在线观看| 在线视频你懂得一区| 秋霞电影网一区二区| 国产一区高清在线| www.亚洲精品| 欧美三级日韩三级| 日韩欧美卡一卡二| 国产精品日日摸夜夜摸av| 亚洲精品成a人| 日产国产欧美视频一区精品| 国产一区二区三区免费在线观看| 不卡在线观看av| 欧美色图第一页| 精品成人一区二区三区| 亚洲欧美怡红院| 日韩精品一二三四| 国产夫妻精品视频| 91成人在线观看喷潮| 欧美成人精品福利| 国产精品毛片a∨一区二区三区| 一二三四区精品视频| 久久电影网电视剧免费观看| 99久久久久久| 欧美一级免费大片| 国产精品美女久久久久久久| 亚洲国产成人porn| 国产精品1区二区.| 欧美性猛交xxxx黑人交| 亚洲精品在线观看网站| 亚洲欧美偷拍卡通变态| 蜜桃精品在线观看| 91丝袜美腿高跟国产极品老师| 欧美一区二区三区喷汁尤物| 国产精品久久久久久福利一牛影视| 欧美年轻男男videosbes| 久久久久久综合| 亚洲与欧洲av电影| 国产精品一区专区| 欧美午夜免费电影| 国产日韩视频一区二区三区| 亚洲国产精品一区二区www在线| 黑人巨大精品欧美黑白配亚洲| 在线视频欧美精品| 国产亚洲欧美色| 五月天丁香久久| 波多野结衣精品在线| 日韩一级黄色大片| 亚洲人成影院在线观看| 韩国女主播成人在线| 欧美日韩午夜在线| 国产精品激情偷乱一区二区∴| 男女激情视频一区| 一本到三区不卡视频| 久久精品在线观看| 日韩在线一区二区| 色狠狠av一区二区三区| 国产亚洲精品aa午夜观看| 日韩精品视频网| 一本到三区不卡视频| 国产欧美精品在线观看| 青青草国产成人av片免费| 91麻豆精东视频| 国产亚洲美州欧州综合国| 日韩精品视频网站| 欧美在线观看视频在线| 国产精品家庭影院| 国产电影一区二区三区|