鼠标右键取样,作为灰度分界线进行最简单的二值化处理
效果图:
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
bool flag = false;
Mat image;
int val1, val2, val3;
void mouse_call_back(int event, int x, int y, int flags, void *userdata);
int main(int argc, char *argv[]) {
namedWindow("img", 0);
image = imread("/home/rubo/1.jpg");
if (image.empty()) {
cout << "no picture!" << endl;
return 0;
}
cvtColor(image, image, COLOR_RGB2GRAY, 0);
// inRange(image, Scalar(0), Scalar(100), image);
imshow("img", image);
setMouseCallback("img", mouse_call_back, 0);
waitKey(0);
return 0;
}
void mouse_call_back(int event, int x, int y, int flags, void *userdata) {
switch (event) {
case EVENT_RBUTTONDOWN: {

本文介绍如何使用OpenCV库通过鼠标右键操作,选取灰度分界线,实现图像的简单二值化处理。实例代码展示了在C++中如何捕获点击事件并应用到图像处理中。
最低0.47元/天 解锁文章
2242

被折叠的 条评论
为什么被折叠?



