opencv分rgb显示

网友投稿 575 2022-11-30

opencv分rgb显示

opencv分rgb显示

// opencv2.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/features2d/features2d.hpp" #include "cv.h" #include "highgui.h" #include using namespace cv; using namespace std; int main(int argc, char **argv) { IplImage *img = cvLoadImage("C:\Users\cql\Desktop\timg.bmp", 1); IplImage *channel_r = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); IplImage *channel_g = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); IplImage *channel_b = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1); IplImage *img_r = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 3); IplImage *img_g = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 3); IplImage *img_b = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 3); cvSplit(img, channel_b, channel_g, channel_r, NULL); cvMerge(channel_b, 0, 0, 0, img_b); cvMerge(0, channel_g, 0, 0, img_g); cvMerge(0, 0, channel_r, 0, img_r); cvNamedWindow("ImageOrigin", CV_WINDOW_AUTOSIZE); cvNamedWindow("Image_R", CV_WINDOW_AUTOSIZE); cvNamedWindow("Image_G", CV_WINDOW_AUTOSIZE); cvNamedWindow("Image_B", CV_WINDOW_AUTOSIZE); cvShowImage("ImageOrigin", img); cvShowImage("Image_R", img_r); cvShowImage("Image_G", img_g); cvShowImage("Image_B", img_b); cvSaveImage("img_red.bmp", img_r); cvSaveImage("img_green.bmp", img_g); cvSaveImage("img_blue.bmp", img_b); cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(&img_r); cvReleaseImage(&img_g); cvReleaseImage(&img_b); cvDestroyAllWindows(); return 0; }

运行结果:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot+hutool批量生成二维码压缩导出功能
下一篇:cmd如何执行cmake
相关文章

 发表评论

暂时没有评论,来抢沙发吧~