首先,我不知道用户输入图像的类型是什么。 但我想将它们全部转换为CV_8UC3类型。
我使用这个功能:
Imgproc.cvtColor(img,img,CvType.CV_8UC3);
但它没有用。
我试试这个:
Imgproc.cvtColor(img_edge,img_edge,Imgproc.COLOR_GRAY2RGB);
这是从灰色到RGB,但实际上我不知道输入图像的类型是什么,我只想将它们全部转换为CV_8UC3。
这可能吗?
答案 0 :(得分:0)
你只需要写一个if-else
子句,没有太多的情况,只有RGB以外的格式,一个带灰色,另一个带RGBA。所以你可能会这样:
if (img.channels() == 1) {
Imgproc.cvtColor(img_edge,img_edge,Imgproc.COLOR_GRAY2BGR);
} else if (img.channels() == 4) {
Imgproc.cvtColor(img_edge,img_edge,Imgproc.COLOR_BGRA2BGR);
}