OpenCV:分割HSV图像并通过H通道扫描
在分割HSV图像后,我想通过H通道扫描并打印其像素值时遇到问题。问题在于输出不是数字而是凌乱的代码。 以下是我的代码(使用Opencv):OpenCV:分割HSV图像并通过H通道扫描,opencv,Opencv,在分割HSV图像后,我想通过H通道扫描并打印其像素值时遇到问题。问题在于输出不是数字而是凌乱的代码。 以下是我的代码(使用Opencv): mathsv; CVT颜色(保存图像、hsv、CV_BGR2HSV);//将BRG转换为HSV 矢量v_通道; 分割(高速列车、v_通道)//分成三个频道 如果(v_通道[0].data==0)//通道[0]为色调 { cout数据存储为字节,即字符,输出将字符解释为字符,并尝试打印符号。只需告诉它它们是整数 cout数据存储为字节,即字符,输出将字符解释为
mathsv;
CVT颜色(保存图像、hsv、CV_BGR2HSV);//将BRG转换为HSV
矢量v_通道;
分割(高速列车、v_通道)//分成三个频道
如果(v_通道[0].data==0)//通道[0]为色调
{
cout数据存储为字节,即字符,输出将字符解释为字符,并尝试打印符号。只需告诉它它们是整数
cout数据存储为字节,即字符,输出将字符解释为字符,并尝试打印符号。只需告诉它它们是整数即可
coutWell,很有效!非常感谢!看来我在编程方面还有很长的路要走~好吧,很有效!非常感谢!看来我在编程方面还有很长的路要走~
Mat hsv;
cvtColor(saveImage,hsv,CV_BGR2HSV);// convert BRG to HSV
vector<cv::Mat> v_channel;
split(hsv,v_channel); //split into three channels
if (v_channel[0].data==0) //channel[0] is Hue
{
cout<<"Error getting the Hue***********"<<endl;
}
for (int i=0;i<hue.rows;i++) //scan through Hue
{
for (int j=0;j<hue.cols;j++)
{
cout<<v_channel[0].at<uchar>(i,j)<<endl;
}
}