OpenCV图像从RGB转换为灰度异常
当我尝试将RGB图像转换为灰度时,出现了一个奇怪的异常(异常:cv::内存位置0x002EB6CC处的异常)。有人能帮我吗OpenCV图像从RGB转换为灰度异常,opencv,Opencv,当我尝试将RGB图像转换为灰度时,出现了一个奇怪的异常(异常:cv::内存位置0x002EB6CC处的异常)。有人能帮我吗 const cv::Mat img1 = cv::imread(filename, 0) cv::Mat gs_rgb(img1.size(), CV_8UC1); cv::cvtColor(img1, gs_rgb, CV_RGB2GRAY); 您正在以灰度加载图像,并尝试再次将灰度转换为灰度 线路 const cv::Mat img1 = cv::im
const cv::Mat img1 = cv::imread(filename, 0)
cv::Mat gs_rgb(img1.size(), CV_8UC1);
cv::cvtColor(img1, gs_rgb, CV_RGB2GRAY);
您正在以灰度加载图像,并尝试再次将灰度转换为灰度 线路
const cv::Mat img1 = cv::imread(filename, 0)
将加载图像
第二个论点在哪里
=0->CV_LOAD_IMAGE_GRAYSCALE->load gray scale
=1->CV_LOAD_IMAGE_COLOR->load color
<0->CV_LOAD_IMAGE_ANYDEPTH->Return the loaded image as is (with alpha channel).
或者将其加载为颜色,然后转换为灰度
const cv::Mat img1 = cv::imread(filename, 1);//load color
Mat gray;//no need of allocation, will allocate automatically.
cv::cvtColor(img1,gray, CV_BGR2GRAY);//opencv default color order is BGR
请在中查看更多信息 你试过其他图片吗?其他文件类型呢?此问题没有足够的信息可以很好地回答。请在问题中包含更多信息,以便更好地描述哪些不起作用。第一步是确保正确加载图像。另外,由于OpenCV默认使用BGR排序,因此您需要传递
CV\u bgr2 gray
。
const cv::Mat img1 = cv::imread(filename, 1);//load color
Mat gray;//no need of allocation, will allocate automatically.
cv::cvtColor(img1,gray, CV_BGR2GRAY);//opencv default color order is BGR