《學習OpenCV》練習3-6

#include "cv.h"
#include "highgui.h"

int main()
{
	IplImage* img = cvLoadImage( "homework_3-6.jpg" );

	/*創建兩個圖像,尺寸爲200*300,深度、通道數、原點、每一行字節數(widthstep)與起始地址(imagedata)均與img相同*/
	IplImage* dst1 = cvCreateImageHeader( cvSize(200,300), img->depth, img->nChannels );	
	IplImage* dst2 = cvCreateImageHeader( cvSize(200,300), img->depth, img->nChannels );
	dst1->origin = img->origin;
	dst2->origin = img->origin;
	dst1->widthStep = img->widthStep;
	dst2->widthStep = img->widthStep;
	dst1->imageData = img->imageData + 10*img->widthStep + 5*img->nChannels;
	dst2->imageData = img->imageData + 60*img->widthStep + 50*img->nChannels;

	/*將dst中的每一個元素的每一位取反,再賦回給dst*/
	cvNot( dst1, dst1 );
	cvNot( dst2, dst2 );

	/*顯示*/
	cvNamedWindow( "homework_3-6", CV_WINDOW_AUTOSIZE );
	cvShowImage( "homework_3-6", img );

	/*釋放內存,銷燬窗口*/
	cvWaitKey(0);
	cvReleaseImageHeader( &dst1 );
	cvReleaseImageHeader( &dst2 );

	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章