⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objcolor.m

📁 彩色图像纹理提取的一种算法
💻 M
字号:
%Written by Adam Meadows
%test function to find color or an object in an image
function color = objcolor(img, lightback, thresh)

% Object Color, (Adam Meadows: ameadows@cs.ucr.edu)
% color = objcolor(img, lightback)
% 
% IMG is the input image
% LIGHTBACK is a flag specifying that the background is lighter than the foreground
% THRESH is the threshold for computing BW image (if 0, compute it)
%
% COLOR returns the average color for the object in IMG
%

%convert to binary image
I = rgb2gray(img);
if thresh == 0
    thresh = graythresh(I);
end
bw = im2bw(I, thresh);

%if a light background, swap the values of bw
if(lightback == 1)
    bw = swap(bw);
end %end of if it was a light background

%variables to hold RGB info for all background pixels, and count
R = uint32(0);
G = uint32(0);
B = uint32(0);
numPixels = 0;

%now loop through the binary image, only considering coordinates == 1
[r c] = size(bw);
while (numPixels < 1000)
        
    i = floor(rand * r);
    if(i == 0)
        i = 1;
    end
    j = floor(rand * c);
    if(j == 0)
        j = 1;
    end
    
    if(bw(i,j) == 1)
        numPixels = numPixels + 1;
        R = R + uint32(img(i,j,1));
        G = G + uint32(img(i,j,2));
        B = B + uint32(img(i,j,3));
    end %end of if it's a background pixel

end %end of outer loop

R = floor(R / numPixels);
G = floor(G / numPixels);
B = floor(B / numPixels);

%return the color
color = [ R G B ];

%end %end of find_color function

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -