我需要使用opencv开发android代码,代码等价于MATLAB。 其中我需要读取一张图像并将其转换为HSV格式,我使用以下代码实现:
Imgproc.cvtColor(temp, hsv , Imgproc.COLOR_RGB2HSV);
当我迭代每个像素值时,范围在0-255的色相中,在Matlab中返回范围为0-1,我不知道如何编写等效的代码。我是一名初学者,对图像处理不太了解。
255代表1.0,128代表0.5等等。只需将n/255相除即可获得Matlab HSV值。
RGB图像的取值范围显然在[0, 255]之间。对于HSV图像,则取决于图像类型(请参见OpenCV文档):
因此,在将其转换为HSV后。
Imgproc.cvtColor(temp, hsv, Imgproc.COLOR_RGB2HSV);
COLOR_BGR2HSV
。List<Mat> planes = new ArrayList<Mat>(3);
Core.split(hsv, planes);
// Scale each single plane
Core.merge(planes , hsv);