aihot  2017-05-08 13:38:11  OpenCV |   查看评论   
void SetTargetColor(Vec3b color); //设置目标颜色 Mat process(const Mat& image); //主要过程 };

其中的minDist是我们定义的阈值用于限定两种颜色之间的距离,相当于PhotoShop中魔术棒工具的阈值。

target是目标颜色,相当于种子颜色。result是存储处理得到的结果。

process是主要的处理程序,下面我们来看process的内容。

Mat colorDetect::process(const Mat& image) {     Mat ImageLab=image.clone();     result.create(image.rows,image.cols,CV_8U);      //将image转换为Lab格式存储在ImageLab中     cvtColor(image,ImageLab,CV_BGR2Lab);     //将目标颜色由BGR转换为Lab     Mat temp(1,1,CV_8UC3);     temp.at<Vec3b>(0,0)=target;//创建了一张1*1的临时图像并用目标颜色填充     cvtColor(temp,temp,CV_BGR2Lab);     target=temp.at<Vec3b            
          
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV成长之路(3):模仿PhotoShop中魔术棒工具

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]