###前提・実現したいこと
opencvを使い、ある縦横比の四角形の面積を求めようとしています。
cvfindcontoursを使用して輪郭検出をしたのはいいのですがその先がわからず止まっています。
参考になりそうなページや、アドバイスなどもらえると幸いです。
よろしくお願いします。
###該当のソースコード
C++
1#import "MonochromeFilter.h" 2#import "OpenCVUtil.h" 3 4@implementation MonochromeFilter 5 6+ (UIImage *)doFilter:(UIImage *)image 7{ 8 // CGImageからIplImageを作成 9 IplImage *srcImage = [OpenCVUtil IplImageFromUIImage:image]; 10 IplImage *grayScaleImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1); 11 IplImage *dstImage = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 3); 12 IplImage *bin_image = cvCreateImage(cvGetSize(srcImage), IPL_DEPTH_8U, 1); //cv::Mat aaa; 13 CvSeq *contours; 14 CvMemStorage *storage = cvCreateMemStorage (0); 15 // グレースケール画像に変換 16 cvCvtColor(srcImage, grayScaleImage, CV_BGR2GRAY); 17 18 //2値化 19 cvThreshold(grayScaleImage,bin_image,160,255,CV_THRESH_BINARY); 20 //std::vector< std::vector< cv::Point > > contours; 21 // cv::Mat(aaa) = bin_image; 22 23 //輪郭検出 24 cvFindContours (bin_image, storage, &contours, sizeof (CvContour), CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE); 25 26 27 // CGImage用にBGRに変換 28 cvCvtColor(grayScaleImage, dstImage, CV_GRAY2BGR); 29 30 // IplImageからCGImageを作成 31 UIImage *effectedImage = [OpenCVUtil UIImageFromIplImage:dstImage]; 32 33 cvReleaseImage(&srcImage); 34 cvReleaseImage(&grayScaleImage); 35 cvReleaseImage(&dstImage); 36 37 return effectedImage; 38} 39 40@end
###補足情報(言語/FW/ツール等のバージョンなど)
opencv2.4.9
xcode7.3
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。