您的位置:首页 > 移动开发 > IOS开发

opencv-ios开发笔记6 利用canny简单提取轮廓

2016-05-28 17:21 471 查看
//对获取的实时图像进行处理利用protocol的method:
- (void)processImage:(cv::Mat &)src
{
// NSLog(@"阈值:%i %i,模糊%i ",self.val1,self.val2,self.val3 );
cv::Mat   canny_output;//临时变量和目标图的定义
cv::Mat midImage(self.imageview.bounds.size.height, self.imageview.bounds.size.width, CV_8UC1);
//图像处理
cvtColor(src,midImage,CV_BGR2GRAY,3);//将图像转化为灰度图
//GaussianBlur(midImage,midImage,cv::Size(3,3),0,0); //高斯模糊
blur(midImage, midImage,cv::Size(3,3));
Canny(midImage, canny_output, 80,255 );//

//轮廓提取
std::vector<std::vector<cv::Point>> contours;
findContours(canny_output,contours,CV_RETR_EXTERNAL,CV_CHAIN_APPROX_NONE);
//轮廓拣选

src.setTo(cv::Scalar(0,255,0,0),canny_output);
self.imageview.image=MatToUIImage(src);

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: