gpt4 book ai didi

opencv - 有没有简单的方法可以查看图像每个点的强度?

转载 作者:行者123 更新时间:2023-12-02 17:38:06 25 4
gpt4 key购买 nike

我正在对一批图像(超过一百张)使用阈值。如果我可以通过在灰色图像上单击鼠标来查看每个点的强度,那将是一种非常奇妙且简便的方法,可以为所有图像找到合适的阈值。但是我是OpenCV的新手,不知道该怎么做。有人可以指导我,或如果有的话放一个现有的代码?

最佳答案

您可以使用setMouseCallback函数(请参阅opencv doc)将回调设置为imshow窗口,该窗口将为您提供click事件的坐标。

void onClickCallback(int event, int x, int y, int, void*);

int main(int argc, char **argv) {

Mat image = imread("/home/zda/0.png", CV_LOAD_IMAGE_COLOR);

namedWindow("image");
setMouseCallback( "image", onClickCallback, &image);

imshow("image",image);
while ('q' != waitKey(0));
}

void onClickCallback( int event, int x, int y, int, void *image) {
if(event == CV_EVENT_LBUTTONDOWN) {
std::cout << "value at (" << x << ", " << y << ") is " << ((Mat*)image)->at<Vec3b>(y, x) << endl;
//This one for grayscale
//std::cout << "value at (" << x << ", " << y << ") is " << (int)((Mat*)image)->at<uchar>(y, x) << endl;

}
}

关于opencv - 有没有简单的方法可以查看图像每个点的强度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48055355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com