python opencv颜色识别,opencv图像反色

  python opencv颜色识别,opencv图像反色

  **## OpenCV反色处理环境vs2019 OpenCV4.5.1**

  #包含opencv 2/opencv。HPP #包含iostream #包含数学。h #包含opencv 2 \ imgproc \ types _ c . h #包含opencv 2/high GUI/high GUI _ c . husing命名空间cv;使用命名空间stdint main(){ Mat src;//原图src=imread(d:\\images\\im.jpg ,im read _ UNCHANGED);if (src.empty()) { cout 无法加载image endl return-1;} namedWindow(input ,CV _ WINDOW _ AUTOSIZE);imshow(input ,src);//单通道图像反色处理(灰度图是单色图像)Mat gray_srccvtColor(src,gray _ src,CV _ bgr 2 gray);namedWindow(input ,CV _ WINDOW _ AUTOSIZE);imshow(output ,gray _ src);/* * 使用垫子中的公有成员关口和行可以获得图像的调度和宽度,使用属性通道表示通道数,若为灰度图像,则值为1,若为彩色图像,则值为3。使用成员函数at(int y,int x)可以用来访问图像的元素,使用时必须指定数据类型,如image.atuchar(j,I),对于彩色图像,每个像素由红、绿、蓝三通道构成,因此返回的是一个向量,向量的每一元素为一个无符号字符变量,如image.atcv:Vec3b(j,I)[chnel]=value;*/int height=gray _ src。行;int width=gray _ src . cols for(int row=0;行高;row){ for(int col=0;列宽度;col){ int gray=gray _ src。atuchar(row,col);gray_src.atuchar(row,col)=255-gray;} } imshow(反色,gray _ src);//三通道图像的反色Mat dstdst.create(src.size()、src。type());height=src . rows width=src . cols//获得通道数int NC=src。通道();//b,g,r三通道int b;int g;int r;/* for(int row=0;行高;row){ for(int col=0;列宽度;col ) { b=src.atVec3b(row,col)[0];g=src.atVec3b(row,col)[1];r=src.atVec3b(row,col)[2];//对每个通道都进行反转dst.atVec3b(row,col)[0]=255-b;dst.atVec3b(row,col)[1]=255-g;dst.atVec3b(row,col)[2]=255-r;} }*///api函数//bitwise_not(src,dst);//只保留红色通道的值/* for(int row=0;行高;row){ for(int col=0;列宽度;col ) { b=src.atVec3b(row,col)[0];g=src.atVec3b(row,col)[1];r=src.atVec3b(row,col)[2];//这里是将b和g通道dst.atVec3b(row,col)[0]=0;dst.atVec3b(row,col)[1]=0;dst.atVec3b(row,col)[2]=r;} } imshow(三通道反色,dst);*/等待键(0);返回0;}

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: