摘要:本文主要向大家介绍了 C/C++知识点之opencv3.3.1+vs2015+c++实现直接在图像上画掩码,保存掩码图片,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
本文主要向大家介绍了 C/C++知识点之opencv3.3.1+vs2015+c++实现直接在图像上画掩码,保存掩码图片,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。
左键红右键蓝,保存为k
#include "opencv2\imgproc\imgproc.hpp" // Gaussian Blur
#include "opencv2\core\core.hpp" // Basic OpenCV structures (cv::Mat, Scalar)
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
bool rButtonDown = false;
bool lButtonDown = false;
int numUsedBins = 0;
float varianceSquared = 0;
int scribbleRadius = 10;
Mat inputImg = imread("0.jpg", 3), showImg = imread("0.jpg", 3);
Mat fgScribbleMask;
Mat bgScribbleMask;
static void onMouse(int event, int x, int y, int, void*)
{
cout << "On Mouse: (" << x << "," << y << ")" <<endl;
if (event == CV_EVENT_LBUTTONDOWN)
{
lButtonDown = true;
}
else if (event == CV_EVENT_RBUTTONDOWN)
{
rButtonDown = true;
}
else if (event == CV_EVENT_LBUTTONUP)
{
lButtonDown = false;
}
else if (event == CV_EVENT_RBUTTONUP)
{
rButtonDown = false;
}
else if (event == CV_EVENT_MOUSEMOVE)
{
if (rButtonDown)
{
// scribble the background
circle(bgScribbleMask, Point(x, y), scribbleRadius, 255, -1);
circle(showImg, Point(x, y), scribbleRadius, CV_RGB(0, 0, 255), -1);
}
else if (lButtonDown)
{
// scribble the foreground
circle(showImg, Point(x, y), scribbleRadius, CV_RGB(255, 0, 0), -1);
circle(fgScribbleMask, Point(x, y), scribbleRadius, 255, -1);
}
}
imshow("draw", showImg);
imshow("fg mask", fgScribbleMask);
imshow("bg mask", bgScribbleMask);
}
int main() {
bgScribbleMask.create(2, inputImg.size, CV_8UC1);
bgScribbleMask = 0;
fgScribbleMask.create(2, inputImg.size, CV_8UC1);
fgScribbleMask = 0;
namedWindow("draw");
imshow("draw", showImg);
namedWindow("input");
imshow("input", inputImg);
setMouseCallback("draw", onMouse, 0);
while (1) {
char key = waitKey(0);
if (key == ‘k‘) { imwrite("1123.jpg", fgScribbleMask); cout << "successed"; }
}
}
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号