1
如何以灰度格式保存Magick::Image
?我正在使用ImageMagick
解碼圖像並將結果寫入OpenCV
矩陣。我現在正在做的是閱讀的彩色圖像,然後將其轉換通過OpenCV
爲灰度:如何在Magick ++中以灰度格式書寫圖像
Magick::Image image("test.png");
cv::Mat mat(image.rows(), image.columns(), CV_8UC3);
image.write(0, 0, image.columns(), image.rows(), "BGR", Magick::CharPixel, mat.data);
cv::cvtColor(mat, mat, CV_BGR2GRAY);
我想寫圖像灰度的cv::Mat
已經,沒有intermidiate彩色圖像。這應該非常簡單,但無法從文檔中找到它,並希望得到任何幫助。
另外我想知道如何檢測圖像是否包含alpha通道?
您仍在寫入BGR格式的3通道矩陣。我的目標是獲得單通道灰度矩陣。可能嗎? – lizarisk
你應該使用cv :: Mat mat(image.rows(),image.columns(),CV_8UC1);並指定「R」而不是「BGR」。 – dlemstra
@dlemstra是正確的。切換到GrayscaleType後,放下「BG」。您可以通過將圖像分離到CMYK並只寫「K」通道來進行更詳細的描述,但這是過度的。 – emcconville