imhistMATLAB函数imhist简介
在MATLAB中,imhist是一个实用的函数,其主要功能是帮助我们分析和可视化图像数据的直方图。直方图在图像处理领域中扮演着关键角色,特别是在图像增强技术中。它为我们提供了关于图像灰度级分布的重要信息,对于直方图修改技术、直方图均衡化等图像处理策略的实现具有基础性作用。要使用imhist函数,你可以在MATLAB的命令窗口中输入doc imhist或直接敲入help imhist,这两种方式都能获取到关于该函数的详细帮助信息。其基本调用格式是imhist(I,n),其中I代表输入的图像数据,n表示要划分的直方图区间数。另外,如果你想在特定的颜色映射(map)下进行直方图计算,可以使用imhist(X,map)的方式。
更为深入地使用,imhist函数还可以返回两个输出参数:[counts,x]。counts变量包含了每个直方图区间内的像素计数,而x则是对应的灰度级或颜色值。通过这两个变量,我们可以更直观地了解图像数据的分布特性,为后续的处理提供数据支持。
绛旓細鍦MATLAB涓锛宨mhist鏄竴涓疄鐢ㄧ殑鍑芥暟锛屽叾涓昏鍔熻兘鏄府鍔╂垜浠垎鏋愬拰鍙鍖栧浘鍍忔暟鎹殑鐩存柟鍥俱傜洿鏂瑰浘鍦ㄥ浘鍍忓鐞嗛鍩熶腑鎵紨鐫鍏抽敭瑙掕壊锛岀壒鍒槸鍦ㄥ浘鍍忓寮烘妧鏈腑銆傚畠涓烘垜浠彁渚涗簡鍏充簬鍥惧儚鐏板害绾у垎甯冪殑閲嶈淇℃伅锛屽浜庣洿鏂瑰浘淇敼鎶鏈佺洿鏂瑰浘鍧囪 鍖栫瓑鍥惧儚澶勭悊绛栫暐鐨勫疄鐜板叿鏈夊熀纭鎬т綔鐢ㄣ傝浣跨敤imhist鍑芥暟锛屼綘鍙互鍦MATLAB...
绛旓細鍒╃敤matlab璁$畻鍥惧儚鐩存柟鍥鍑芥暟涓imhist锛堬級鍏蜂綋鐢ㄦ硶锛歩mhist(i);鐩存帴鏄剧ず鍥惧儚i鐨勭伆搴︾洿鏂瑰浘锛沬mhist锛坕锛宯锛塶涓烘寚瀹氱伆搴︾骇鏄剧ず鐩存柟鍥撅紱[count,x]=imhist(i)鑾峰彇鐩存柟鍥句俊鎭紝count涓烘瘡涓绾х伆搴﹀儚绱犱釜鏁帮紝x涓虹伆搴︾骇锛寈涔熷彲浠ュ湪imhist锛坕锛寈锛変腑鎸囧畾锛屽彲浠ラ氳繃stem锛坸锛宑ount锛夌敾鐩稿簲鐩存柟鍥撅紱浠g爜搴旂敤锛歩=i...
绛旓細鍒╃敤matlab璁$畻鍥惧儚鐩存柟鍥鍑芥暟涓imhist锛堬級鍏蜂綋鐢ㄦ硶锛歩mhist(i);鐩存帴鏄剧ず鍥惧儚i鐨勭伆搴︾洿鏂瑰浘锛沬mhist锛坕锛宯锛塶涓烘寚瀹氱伆搴︾骇鏄剧ず鐩存柟鍥撅紱[count,x]=imhist(i)鑾峰彇鐩存柟鍥句俊鎭紝count涓烘瘡涓绾х伆搴﹀儚绱犱釜鏁帮紝x涓虹伆搴︾骇锛寈涔熷彲浠ュ湪imhist锛坕锛寈锛変腑鎸囧畾锛屽彲浠ラ氳繃stem锛坸锛宑ount锛夌敾鐩稿簲鐩存柟鍥撅紱浠g爜搴旂敤锛歩=i...
绛旓細浣跨敤matlab鐨imhist鍑芥暟鏃讹紝鍑虹幇涓嶆樉绀簒杞存爣绛俱傝В鍐崇殑鏂规硶灏辨槸鍔犲涓┖鏍笺傚涓嬪垪鐨勪緥瀛愩侷 = imread('pout.tif');imhist(I)xlabel({' ','鏃堕棿'});ylabel('娉㈤暱')
绛旓細鍥犱负imhist鍙兘瀵圭伆搴﹀浘鍍忕敾鐩存柟鍥撅紝鎵浠ラ偅鏍风洿鎺ョ敾鏄笉琛岀殑锛屾垜缁欎綘鏀逛簡涓涓嬶紝浣犲啀璇曡瘯锛歀=imread('lily.tif');L=rgb2gray(L);subplot(1,2,1);imhist(L);杩欐牱浣犲湪鐪嬬湅
绛旓細鍥惧儚鐨勭偣杩愮畻涓昏鐢ㄤ簬鏀瑰彉涓鍓浘鍍忕殑鐏板害鍒嗗竷鑼冨洿銆傛搷浣滃璞℃槸鍗曚釜鍍忕礌鍊硷紝杈撳嚭鍍忕礌鍊煎彧涓庤緭鍏ュ儚绱犲兼湁鍏炽傛í鍧愭爣琛ㄧず鍥惧儚鐨勭伆搴﹀硷紝鍙栧间负0~255 绾靛潗鏍囪〃绀哄嚭鐜版鏁扮殑澶氬皯璐ф鐜囩殑楂樹綆銆 matlab涓锛屽嚱鏁imhist()鏉ヨ幏寰楃伆搴︾洿鏂瑰浘銆俰mhist(I, n) n鍙寚瀹氱伆搴︾骇鏁般 [counts1, x] = imhist(...
绛旓細绋嬪簭1锛氱洿鏂瑰浘鍧囪 鍖,浠ゅ姣斿害鑷傚簲鐩存柟鍥惧潎琛″寲 I=imread('浣犵殑鍥剧墖锛堟敞鎰忚鐢ㄨ嫳鏂囩殑銆傛瘮濡'd:\blood.jpg'锛');I=rgb2gray(I);J=adapthisteq(I);subplot(221),imshow(I)title('鍘熷浘');subplot(222),imshow(J)title('鐩存柟鍥惧潎琛″寲鍚庣殑缁撴灉')subplot(223),imhist(I,64)title('鍘熷浘鐨勭洿鏂瑰浘'...
绛旓細[cnt, x] = imhist(img); % 缁熻鐩存柟鍥緅 = (1:256) <= 10; % 鍙彇鍓10鐨勫儚绱燽ar(x(j), cnt(j)) % 鐢荤洿鏂瑰浘set(gca, 'YLim', [3e3 4e3]) % 璁剧疆Y杞磋寖鍥
绛旓細Compute Entropy Of Image I ^^^ p = imhist(I(:));remove zero entries in p p(p==0) = [];normalize p so that sum(p) is one.p = p ./ numel(I);Entropy = -sum(p.*log2(p));褰撶劧鐩存帴浣跨敤Matlab涓鐨別ntropy鍑芥暟涔熸槸鍙互鐩存帴璁$畻鐨 鍏蜂綋鍙互鏌ョ湅甯姪 ...