當前位置:首頁 » 操作系統 » 彩色演算法

彩色演算法

發布時間: 2022-05-22 22:51:28

『壹』 屏幕解析度和屏幕色彩計算方法

您好,很高興為您解答疑問。顯示解析度就是屏幕上顯示的像素個數,解析度160×128的意思是水平像素數為160個,垂直像素數128個。解析度越高,像素的數目越多,感應到的圖像越精密。而在屏幕尺寸一樣的情況下,解析度越高,顯示效果就越精細和細膩。屏幕色彩:這里所指的屏幕顏色實質上即為色階的概念。色階是表示液晶顯示屏亮度強弱的指數 標准,也就是通常所說的色彩指數。 目前彩屏的色階指數從低到高可分三個層次,最低單色,其次是256色、4096色、 65536色; 目前最高的為26萬色。256=2的8次方,即8位彩色,依次律推,65536色=2的16次方,即通常所說 的16位真彩色,26萬=2的18次方,也就是18位真彩。其實65536色已基本可滿足我們肉眼的識別 需求。

『貳』 我想採用彩色圖像形態學的演算法

你說的這種叫做RGB向量空間分割或者HSI向量空間分割,一般做法是將飽和度作為一個模版圖像,利用感興趣彩色的代表性的彩色點樣品集得到彩色平均估計,這種彩色就是希望分割的彩色,然後分割的目標就是對圖像的每個RGB像素進行分類。

『叄』 請教彩色圖轉灰度圖的演算法

把顏色的紅綠藍都設成一個值,這個值就是原來RGB的平均值.

例如:
臨時變數=(原紅色值*30+原綠色值*59+原藍色值*11)/100;
原紅色值=臨時變數;
原綠色值=臨時變數;
原藍色值=臨時變數;

這個演算法是別人寫的圖象處理程序源碼上演算法.

『肆』 找一種圖像處理演算法----把同一物體的三幅RGB分量圖像復合成為彩色圖像

首先你這種方法就不對。
三色濾光鏡就能得到RGB分量了?
很顯然不是。
你把拍好的照片放到ps裡面看看每個點的顏色RGB是不是(x,0,0)這樣的。
如果要還原照片彩色,
很簡單,你要知道你的濾鏡在拍攝的時候起到了什麼作用,是通過怎麼樣的演算法把彩色的景物轉換成了單色的照片了的。。

『伍』 怎樣用matlab實現彩色圖像變黑白圖片演算法

簡單來說,目前市面上絕大多數的彩色轉黑白都是通過一個確定的函數Gray=f(R,G,B)將彩色空間映射到灰度空間。然而很容易想到的是,對於任何一個『事先確定好』的映射,我們總是能找到一些『壞』的數據,使得原先還算正常的彩圖變成『很糟糕』的灰度圖。

理由也很簡單:畢竟彩色空間到灰度空間降了兩個維度,對於『事先確定好』的映射函數f,我們總是能找到顏色略有不同但灰度接近的情況。

這個映射函數本身是根據輸入圖像動態計算出來的。換句話說,對於不同的圖,這個映射函數可以是不一樣的!即使是同一個顏色,在不同的圖像中也可能被映射成不同的灰度。

『陸』 求matlab彩色圖片的顏色特徵提取演算法的代碼,和紋理特徵提取的代碼。傳統方法即可。

其實學數字圖像處理,關鍵的不是源代碼(和一般編程還是有區別的,這個是經驗之談,其實一般博導未必會編程,但是你和他說說你的方法,他一般都能切中要害),而是你能理解基於概念及適用場所。
基於顏色、紋理、形狀都屬於低層特徵,這些你理解就夠了,關鍵是對你的課題適合哪種方法來映射到高層語義上面,例如:識別物體輪廓,那可能形狀就比較適合等。
我之所以寫上面那段話,主要是我感覺你索取代碼也不說明具體要求,也就是方向不明確。
如今顏色特徵提取演算法有很多,諸如顏色直方圖、顏色矩、顏色集、顏色聚合向量、顏色相關圖等,既然你沒說,我就給個IEEE CSVT 2001的一篇關於顏色直方圖法的論文(源碼版權歸作者所有):
function colorhist = colorhist(rgb)
% CBIR_colorhist() --- color histogram calculation
% input: MxNx3 image data, in RGB
% output: 1x256 colorhistogram == (HxSxV = 16x4x4)
% as the MPEG-7 generic color histogram descriptor
% [Ref] Manjunath, B.S.; Ohm, J.-R.; Vasudevan, V.V.; Yamada, A., "Color and texture descriptors"
% IEEE Trans. CSVT, Volume: 11 Issue: 6 , Page(s): 703 -715, June 2001 (section III.B)
% check input
if size(rgb,3)~=3
error('3 components is needed for histogram');
end
% globals
H_BITS = 4; S_BITS = 2; V_BITS = 2;
%rgb2hsv可用rgb2hsi代替,見你以前的提問。
hsv = uint8(255*rgb2hsv(rgb));

imgsize = size(hsv);
% get rid of irrelevant boundaries
i0=round(0.05*imgsize(1)); i1=round(0.95*imgsize(1));
j0=round(0.05*imgsize(2)); j1=round(0.95*imgsize(2));
hsv = hsv(i0:i1, j0:j1, :);

% histogram
for i = 1 : 2^H_BITS
for j = 1 : 2^S_BITS
for k = 1 : 2^V_BITS
colorhist(i,j,k) = sum(sum( ...
bitshift(hsv(:,:,1),-(8-H_BITS))==i-1 &...
bitshift(hsv(:,:,2),-(8-S_BITS))==j-1 &...
bitshift(hsv(:,:,3),-(8-V_BITS))==k-1 ));
end
end
end
colorhist = reshape(colorhist, 1, 2^(H_BITS+S_BITS+V_BITS));
% normalize
colorhist = colorhist/sum(colorhist);

%基於紋理特徵提取灰度共生矩陣用於紋理判斷
% Calculates cooccurrence matrix
% for a given direction and distance
%
% out = cooccurrence (input, dir, dist, symmetric);
%
% INPUT:
% input: input matrix of any size
%
% dir: direction of evaluation
% "dir" value Angle
% 0 0
% 1 -45
% 2 -90
% 3 -135
% 4 -180
% 5 +135
% 6 +90
% 7 +45
%
% dist: distance between pixels
%
% symmetric: 1 for symmetric version
% 0 for non-symmetric version
%
% eg: out = cooccurrence (input, 0, 1, 1);
% Author: Baran Aydogan (15.07.2006)
% RGI, Tampere University of Technology
% [email protected]

function out = cooccurrence (input, dir, dist, symmetric);

input = round(input);
[r c] = size(input);

min_intensity = min(min(input));
max_intensity = max(max(input));

out = zeros(max_intensity-min_intensity+1);
if (dir == 0)
dir_x = 0; dir_y = 1;
end

if (dir == 1)
dir_x = 1; dir_y = 1;
end

if (dir == 2)
dir_x = 1; dir_y = 0;
end

if (dir == 3)
dir_x = 1; dir_y = -1;
end

if (dir == 4)
dir_x = 0; dir_y = -1;
end

if (dir == 5)
dir_x = -1; dir_y = -1;
end

if (dir == 6)
dir_x = -1; dir_y = 0;
end

if (dir == 7)
dir_x = -1; dir_y = 1;
end

dir_x = dir_x*dist;
dir_y = dir_y*dist;

out_ind_x = 0;
out_ind_y = 0;

for intensity1 = min_intensity:max_intensity
out_ind_x = out_ind_x + 1;
out_ind_y = 0;

[ind_x1 ind_y1] = find (input == intensity1);
ind_x1 = ind_x1 + dir_x;
ind_y1 = ind_y1 + dir_y;

for intensity2 = min_intensity:max_intensity
out_ind_y = out_ind_y + 1;

[ind_x2 ind_y2] = find (input == intensity2);

count = 0;

for i = 1:size(ind_x1,1)
for j = 1:size(ind_x2,1)
if ( (ind_x1(i) == ind_x2(j)) && (ind_y1(i) == ind_y2(j)) )
count = count + 1;
end
end
end

out(out_ind_x, out_ind_y) = count;

end
end

if (symmetric)

if (dir < 4)
dir = dir + 4;
else
dir = mod(dir,4);
end
out = out + cooccurrence (input, dir, dist, 0);
end

熱點內容
編程自編碼器 發布:2024-10-26 11:24:55 瀏覽:606
tis伺服器要什麼樣的電腦 發布:2024-10-26 11:19:33 瀏覽:465
近兩年藏文編譯漢藏翻譯工作 發布:2024-10-26 10:46:52 瀏覽:253
路由器的通用管理員密碼多少 發布:2024-10-26 10:45:10 瀏覽:106
無線演算法是什麼 發布:2024-10-26 10:44:33 瀏覽:560
起亞秀爾配置如何看 發布:2024-10-26 10:31:18 瀏覽:778
光纖貓的超級密碼是干什麼用的 發布:2024-10-26 10:30:26 瀏覽:707
電腦華為雲空間伺服器異常 發布:2024-10-26 10:30:25 瀏覽:872
締造者刷青龍腳本 發布:2024-10-26 10:05:50 瀏覽:474
電視賬號密碼在哪裡設置 發布:2024-10-26 10:03:51 瀏覽:81