opencv1.0基礎操作 還摻合opencv3操作
阿新 • • 發佈:2018-11-08
讀取圖片
Mat srcImage = imread(“image1.jpg”);
判斷圖片是否為空
srcImage.empty();
轉為灰度圖
Mat grayImage;
cvtColor(srcImage,grayImage,CV_BGR2GRAY);
獲取/修改灰度圖於(i,j)畫素值
grayImage.at<char>(i,j) = 0;
顯示圖片
imshow("Picture",grayImage);
waitKey(0);
輸出圖片
釋放圖片imwrite("gray.jpg",grayImage);
srcImage.release();
讀取圖片
IplImage *srcImage = cvLoadImage("potota.jpg", CV_LOAD_IMAGE_UNCHANGED);
建立圖片
IplImage *grayImage = cvCreateImage(cvGetSize(src), IPL_DEPTH_8U, 1);
清空圖片
cvZero(*grayImage);
轉為灰度圖
cvCvtColor(srcImage, grayImage, CV_BGR2GRAY);
轉為二值圖
IplImage *binImage = cvCreateImage(cvGetSize(grayImage), IPL_DEPTH_8U, 1); cvZero(*binImage); cvThreshold(grayImage,*binImage,128,1,CV_THRESH_BINARY_INV);
獲取圖片大小
CvSize size = cvGetSize(srcImage);
int h = size.height
int w = size.width
獲取/修改灰度圖於(i,j)畫素值
CV_IMAGE_ELEM(src,uchar,i,j) = 0;
複製影象
cp_src = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1);
cvCopy(src,cp_src,NULL);
獲取(i,j)畫素資訊
CvScalar s = cvGet2D(srcImage,i,j);
修改(i,j)畫素資訊
s = CV_RGB(0,255,0); cvSet2D(srcImage,i,j,s);
顯示圖片
cvShowImage("Skeleton",srcImage);
cvWaitKey(0);
cvDestroyWindow("Skeleton");
釋放圖片
cvReleaseImage(&srcImage);
熟悉opencv1的操作,有利於自己以後去 看前輩們寫的程式碼的思路。
明白什麼意思就行 然後根據意思 自己可以寫opencv3版本的程式碼