0
これはopenCVでMouseEventを設定しようとした私の試みですが、私の主張はマウスイベントに応じて特定の点に何かを描くことです。どのようなアイデアが間違っている? 私はこのチュートリアルに従っ:https://docs.opencv.org/3.3.0/db/d5b/tutorial_py_mouse_handling.htmlマウスをペイントブラシとして使用する
#include<opencv2\core\core.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\highgui\highgui.hpp>
#include<opencv2\ml\ml.hpp>
#include<iostream>
#include<conio.h>
using namespace std;
using namespace cv;
int radius = 5;
Mat img;
int ix = 1;
int iy = 1;
//mouse callback function
void drawCircle(int event, int x, int y, int, void* param) {
if (event == CV_EVENT_LBUTTONDOWN)
{
cout << "x = " << x
<< "\t y = " << y
<< endl;
circle(img, Point(x, y), 10, Scalar(255,255,255), 10);
}
//line(img, Point(10, 10), Point(x, y), Scalar(0, 0, 255), 3);
}
int main() {
img = imread("image.png");
if (img.empty()) {
cout << "\nerror reading image" << endl;
_getch();
return -1;
}
namedWindow("Image",1);
imshow("Image", img);
setMouseCallback("Image", drawCircle);
waitKey(0);
return 0;
}
は、なぜそれが私のイメージの上に円または線を描画しないのですか?ありがとう!
ご回答いただきありがとうございます。悲しいことに、私はあなたの答えをアップアップするのに十分な特権を持っていません。私はwaitKey(20)!= 27(ESC)に変更することで、あなたのコードはすぐにウィンドウを閉じるようにしました。まだ提案に感謝します。 –
ありがとう、私はあなたの修正に変更しました。投票について心配しないでください:-) –