opencv在图片指定区域内填充矩形,并在图片中显示矩形的轮廓

孤人 提交于 2019-12-08 02:59:32

需求:
在图片中画出指定区域的轮廓
解决方法:
先在图片中填充一块矩形,然后画出矩形的轮廓在图片中显示

//画出指定区域的轮廓;

#include "stdafx.h"
#include <highgui.h>
#include <cv.h>
using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
    Mat img= imread("图片.JPG");
    Mat mask = Mat::zeros(img.size(),CV_8UC1);
    Rect rect;
    rect.x = 100;
    rect.y = 100;
    rect.width = 100;
    rect.height = 100;
    mask(rect).setTo(255);

    vector<vector<Point>> v;//存储轮廓
    vector<Vec4i>hierarchy;
    findContours(mask,v,hierarchy,CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);
    drawContours(img,v,0,CV_RGB(255,0,0),1,8);
    imshow("img",img);
    waitKey();
    return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!