function vec= hsvHist(Image) [M,N,O] = size(Image); if O~= 3 error('3 components are needed for histogram'); end H_BITS = 4; S_BITS =2; V_BITS = 2; hsv = uint8(255*rgb2hsv(Image)); %均匀量化 % bitshift(24,-3) 表示24除以2的3次方 H=bitshift(hsv(:,:,1),-(8-H_BITS)); S=bitshift(hsv(:,:,2),-(8-S_BITS)); V=bitshift(hsv(:,:,3),-(8-V_BITS)); %% %先进行合成,然后再统计 L=zeros(M,N); for i=1:M for j=1:N L(i,j)=16*H(i,j)+4*S(i,j)+V(i,j); end end %计算L的直方图 Hist=zeros(1,256); for i = 0:255 Hist(i+1) = size(find(L==i),1); end vec=Hist'; end
时间: 2024-03-26 20:36:54 浏览: 19
这段代码实现了一个对输入图像进行 HSV 颜色空间直方图统计的函数。首先,它将 RGB 颜色空间的图像转换为 HSV 颜色空间的图像,然后对 H、S、V 三个分量进行均匀量化,将其分别缩小到 H_BITS、S_BITS、V_BITS 个 bin 中。接下来,将三个量化后的分量合成为一个新的灰度图像 L,并统计 L 中每个灰度值的像素个数,即 L 的直方图。最后,将直方图转换为一维的向量 vec 并返回。
相关问题
function vec= hsvHist(Image) [M,N,O] = size(Image); if O~= 3 error('3 components are needed for histogram'); end H_BITS = 4; S_BITS =2; V_BITS = 2; hsv = uint8(255rgb2hsv(Image)); H=bitshift(hsv(:,:,1),-(8-H_BITS)); S=bitshift(hsv(:,:,2),-(8-S_BITS)); V=bitshift(hsv(:,:,3),-(8-V_BITS)); L=zeros(M,N); for i=1:M for j=1:N L(i,j)=16H(i,j)+4*S(i,j)+V(i,j); end end Hist=zeros(1,256); for i = 0:255 Hist(i+1) = size(find(L==i),1); end vec=Hist'; end
这段代码实现了一个对输入图像进行 HSV 颜色空间直方图统计的函数。首先,它会检查输入图像的通道数是否为 3,如果不是则会抛出错误。然后,确定 H、S、V 三个分量的量化 bin 数量,将图像从 RGB 转换为 HSV 颜色空间,并对 H、S、V 三个分量进行均匀量化。接下来,将三个量化后的分量合成为一个新的灰度图像 L,并统计 L 中每个灰度值的像素个数,即 L 的直方图。最后,将直方图转换为一维的向量 vec 并返回。但是,代码中有一处错误:在将 RGB 图像转换为 HSV 图像时,需要在 255 前面加上乘号。
实现向量的加法运算,如 vec3 = vec1 + vec2 。
vector vec1 = [1, 2, 3];
vector vec2 = [4, 5, 6];
vector vec3 = [0, 0, 0];
for (int i = 0; i < 3; i++) {
vec3[i] = vec1[i] + vec2[i];
}
// 现在 vec3 是 [5, 7, 9]
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)