【OpenCV】IplImage类型图像ROI矩形区域的快速获取
生活随笔
收集整理的這篇文章主要介紹了
【OpenCV】IplImage类型图像ROI矩形区域的快速获取
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一直使用的是OpenCV C++的接口,但是有些只能用純c的環境下,就不得不用c接口了,IplImage是c接口圖像數據最基本的數據結構,獲取其ROI區域的過程如下,首先通過cvSetImageROI(IplImage* src, CvRect rect)設定ROI區域,然后將給部分圖像數據拷貝出來,最后通過cvResetImageROI(IplImage* src)重置ROI區域即可。
這里為了使用方便,封裝了一下:
IplImage* get_ipl_roi(IplImage* src, CvRect rect) {cvSetImageROI(src, rect);IplImage* tmp = cvCreateImage(cvSize(src->roi->width, src->roi->height), src->depth, src->nChannels);cvCopy(src, tmp, NULL);cvResetImageROI(src);return tmp; }測試代碼如下:
int main() {IplImage *src = cvLoadImage("Hepburn.png", 0);CvRect rect = cvRect(60, 60, 130, 130);IplImage *roi = get_ipl_roi(src, rect);cvNamedWindow("ROI", CV_WINDOW_AUTOSIZE);cvShowImage("ROI", roi);cvWaitKey(0);cvReleaseImage(&roi);cvDestroyWindow("ROI"); }結果如下:
原始圖像
ROI
總結
以上是生活随笔為你收集整理的【OpenCV】IplImage类型图像ROI矩形区域的快速获取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Machine Learning】回归
- 下一篇: 【OpenCV3】图像最大轮廓检测——c