基于OpenCV的简单套索工具开发
发布时间
阅读量:
阅读量
Photoshop中的套索工具利用鼠标单击可以选择一个任意多边形区域,并对该区域进行单独处理。下面是使用OpenCV实现的一个简单的功能——模拟Photoshop中的套索工具。这里的套索工具通过左键在图片上单击创建任意数量的点;右键单击后将这些点连接成一个封闭的多边形来形成待编辑区域。键盘上的方向键用于控制该区域的位置变化。首先定义下列全局变量。
const char* winName = "TaoSuoTool";//窗口名称
cv::Mat resultImg;//最终在OpenCV窗口上显示的图像
cv::Mat foregroundImg;//编辑前的图像
cv::Mat areaMask;//蒙版,多边形区域实际绘制在该蒙版上
cv::Point maskLocation;//蒙版位置,通过方向键移动后蒙版位置随之变化
std::vector<cv::Point> drawingPoints;//区域完成前正在点击的所有点
std::vector<cv::Point> areaPoints;//区域完成后其多边形顶点
main函数
int main(int argc, char **arv)
{
foregroundImg = c
全部评论 (0)
还没有任何评论哟~
