利用OpenCV和C++实现由RGB图像转化为灰度图,再将灰度图转化为二值图的程序

来源:互联网 发布:excel怎么合并数据 编辑:程序博客网 时间:2024/05/17 22:06

#include<opencv2\opencv.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<opencv2\imgproc\imgproc_c.h>#include<opencv2\highgui\highgui.hpp>int main(){//【1】加载原图IplImage* srcImg = cvLoadImage(".\\srcImg\\No.08.jpg");   cvNamedWindow("【srcImg】");cvShowImage("【srcImg】",srcImg);CvSize grayImgSize;grayImgSize.height =  srcImg->height;grayImgSize.width  =  srcImg->width;//【2】转换为灰度图IplImage* grayImg = cvCreateImage(grayImgSize,srcImg->depth,1);cvCvtColor(srcImg,grayImg,CV_BGR2GRAY);cvNamedWindow("【grayImg】");cvShowImage("【grayImg】",grayImg);//【3】转换为二值图IplImage* binaryImg = cvCreateImage(grayImgSize,grayImg->depth,1);cvThreshold(grayImg,binaryImg,145,255,CV_THRESH_BINARY);cvNamedWindow("【binaryImg】");cvShowImage("【binaryImg】",binaryImg);cvSaveImage(".\\srcImg\\binaryImg.jpg",binaryImg);  //保存二值图cv::waitKey(0);//【4】释放内存空间cvDestroyWindow("【srcImg】");cvDestroyWindow("【grayImg】");cvDestroyWindow("【binaryImg】");cvReleaseImage(&srcImg);cvReleaseImage(&grayImg);cvReleaseImage(&binaryImg);return 0;}

0 0
原创粉丝点击