如何改變加載到MATLAB的圖像的每個像素的位數?我使用文件對話框和imread函數將圖像加載到矩陣中。我只需要改變每像素的圖像位數。賦予用戶從1位到8位任意位置的能力。我知道如何讓用戶選擇一個我不知道是誰來改變它的能力。人們如何改變這種狀況? (順便說一句,我在MATLAB R2012a)在MATLAB中改變每個像素的位數
1
A
回答
0
我的理解是,你想要做這樣的事情:
imdata = rgb2gray(imread('ngc6543a.jpg')); % Assuming that we have a grayscale uint8 image
figure('name', 'Before');
imagesc(imdata);
colormap('gray');
numberOfBits = input('Enter number of bits:\n');
maxValue = 2^numberOfBits - 1;
newImage = imdata * (maxValue/256);
figure('name', 'After');
imagesc(newImage);
colormap('gray');
圖像0是一個示例圖像,這樣你就可以,因爲它是立即運行該代碼。
+0
多數民衆贊成它,你真棒,非常感謝 – Umdoobby 2013-04-25 19:54:13
0
本文檔頁面包含大量有關您想要做的事情信息:Reducing the Number of Colors in an Image。
一個簡單的例子是(幾乎從該網頁直取)以下,這將抖動的圖像併產生彩色地圖(到OP的回答略有不同 - 不知道你想做哪一個):
>> RGB = imread('peppers.png');
>> [x,map] = rgb2ind(RGB, 2); % Reduce to a 2-colour image
>> imagesc(x)
>> colormap(map)
您應該根據無論多位可以容納的最大數量來選擇顏色的數量。
相關問題
- 1. 在MATLAB中給出像素位置的像素顏色更改
- 2. Matlab中每n個值的中位數
- 3. 在matlab中查找像素位置
- 4. 確定位圖中每個像素的位數
- 5. 檢測TIFF圖像中每個像素的位數
- 6. 更改.gif圖像中每個像素的顏色數量?
- 7. 每像素jpg位
- 8. 使用matlab查找圖像中每個像素的出現次數
- 9. 快速比較兩個位圖對象每個像素的像素基數
- 10. 更改數組中的每個元素
- 11. 在Matlab中對矩陣的每個元素應用函數
- 12. 在Matlab中計算每個元素的出現次數
- 13. 通過MATLAB的像素位置
- 14. 如何使matlab中的圖像中的每個第二像素灰色
- 15. 如何使用python更改位圖圖像上的每個像素的RGB值?
- 16. 灰度(每像素8位)在Java圖像像素處理
- 17. 如何訪問每一個圖像像素,MATLAB
- 18. Octave/Matlab:改變matix中某個位置的值
- 19. 在matlab中交換一個圖像中的圓圈像素
- 20. 在MATLAB中更改一行中的像素值
- 21. 改變位圖圖像的像素陣列
- 22. 修改TPngImage的每個像素的alpha數據
- 23. 如何改變位圖中某些像素的顏色android
- 24. PDF的BitsPerComponent如何轉換爲圖像的每像素位數?
- 25. 在每個像素位置使用深度的點雲
- 26. 更改黑色像素在matlab中是透明的
- 27. 每個像素在OpenGL中繪圖
- 28. 在MATLAB中逐像素顏色的變化
- 29. 在Ruby中更改數組中的每個元素
- 30. Bitshift在Matlab中沒有循環的數組中的每個元素
你應該對你想要的結果更具體些。顯然,1位圖像會是兩種顏色,黑色和白色,是你想要的嗎?另外,最小的元素大小是單個字節,所以你打算打包這些值還是隻限制每個像素允許的值的範圍? – jazzbassrob 2013-04-25 19:17:44
另外,有沒有可能你的意思是「字節」而不是「位」?這將更有意義... – jazzbassrob 2013-04-25 19:21:03
不,我的意思是位,我知道1位圖像只會是兩種顏色 – Umdoobby 2013-04-25 19:23:34