转换Opencv hsv等效于Matlab Hsv
我必须使用opencv开发android代码,代码相当于MATLAB。 在那里我必须阅读图像并将其转换为HSV,我使用以下方法完成此操作:
Imgproc.cvtColor(temp, hsv , Imgproc.COLOR_RGB2HSV);
当我迭代在Hue的0-255范围内返回的像素的每个像素值时,在Matlab中它返回的范围为0-1,我不知道如何为它编写等效代码。 我是初学者。我对图像处理知之甚少。
RGB图像的值范围显然在[0,255]中。 对于HSV图像,它取决于图像类型(请参阅OpenCV doc ):
- 8位图像:[0,180]中的H,[0,255]中的S,V
- 32位图像:[0,360]中的H,[0,1]中的S,V
所以,在你转换为HSV之后
Imgproc.cvtColor(temp, hsv, Imgproc.COLOR_RGB2HSV);
您需要以不同方式缩放H和S,V值。 您可以使用拆分和合并来获取不同的通道矩阵,并应用正确的缩放。
请注意,OpenCV将RGB图像存储为BGR,因此您可能需要COLOR_BGR2HSV
。
您可以拆分和合并:
List planes = new ArrayList (3); Core.split(hsv, planes); // Scale each single plane Core.merge(planes , hsv);
255是1.0,128是0.5,依此类推。 只需将n / 255除以得到Matlab HSV值
- 构建Cordova Android项目时出错
- 使用带有GridLayoutManager的RecyclerView为手机和平板电脑的不同布局添加动态按钮
- 如何计算Android上具有特定扩展名的文件数量?
- java.lang.NullPointerException:尝试调用虚方法’java.lang.String android.net.Uri.getScheme()’
- Spinner的背景图像显得拉长
- “无效的转义序列(有效转义序列是\ b \ t \ n \ f \ r \”\’\\)“语法错误
- Android WebRTC Custom Capturer
- 错误在活动映射xml中膨胀类片段
- 如何创建简单的Web服务