"#include <opencv2/core/utils/logger.hpp>\n#include <opencv2/opencv.hpp>\n#include \n#include \n#include \n#include \n#include \n#include \nusing namespace cv;\nusing namespace std;\nusing namespace utils;\nusing namespace logging;\n\nvoid getDarts(const string& pic1_ad, const string& pic2_ad)\n{\n\tMat pic1 = imread(pic1_ad, IMREAD_COLOR), pic2 = imread(pic2_ad, IMREAD_COLOR);\n\tif (pic1.empty())\n\t\tcout << "打开失败" << endl;\n\telse\n\t{\n\t\tMat pic1_HSI, pic2_HSI;\n\n\t\tcvtColor(pic1, pic1_HSI, COLOR_BGR2HSV);\n\t\tcvtColor(pic2, pic2_HSI, COLOR_BGR2HSV);\n\n\t\tMat result;\n\n\t\tint Width = pic1.cols, Height = pic1.rows;\n\n\t\tfor (int i = 0; i < Height; i++)\n\t\t\tfor (int j = 0; j < Width; j++)\n\t\t\t{\n\t\t\t\tVec3b HSIpixels1 = pic1.at(i, j); // 获取坐标为(j,i)的像素,即(x,y)\n\n\t\t\t\tcout << HSIpixels1[0] << endl;\n\t\t\t\tcout << HSIpixels1[1] << endl;\n\t\t\t\tcout << HSIpixels1[2] << endl;\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t}\n}\n\nint main()\n{\n\tsetLogLevel(utils::logging::LOG_LEVEL_ERROR);\n\n\tstring pic1_ad = "D://微搜死丢丢//Darts//1.JPG";\n\tstring pic2_ad = "D://微搜死丢丢//Darts//2.JPG";\n\n\tMat img = imread(pic2_ad);\n\n\tif (img.empty())\n\t{\n\t\tcout << "无法读取图像" << endl;\n\t\treturn -1;\n\t}\n\telse\n\t{\n\t\tcout << img.rows << " " << img.cols << endl;\n\n\t\tnamedWindow("2.JPG", WINDOW_NORMAL);\n\t\t\n\t\timshow("2.JGP", img);\n\n\t\tdestroyWindow("2.JPG");\n\t\treturn 1;\n\t}\n\t\n\t//getDarts(pic1_ad, pic2_ad);\n\n\treturn 0;\n}\n\n\n// 解决方案:在访问对象成员之前添加一个判断语句来确保对象不为空。\n// 例如:\n// if (!pic1.empty())\n// {\n// // 访问对象成员的代码\n// }\n// 这样就可以避免访问空指针的错误。\n

OpenCV 图片处理:读取图片并获取像素值

原文地址: http://www.cveoy.top/t/topic/pyaP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录