如何改變加載到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中保存每像素超過8位的圖像
- 3. Matlab中每n個值的中位數
- 4. 確定位圖中每個像素的位數
- 5. 在matlab中查找像素位置
- 6. 在matlab中獲取像素位置
- 7. 檢測TIFF圖像中每個像素的位數
- 8. 更改.gif圖像中每個像素的顏色數量?
- 9. 每像素jpg位
- 10. 使用matlab查找圖像中每個像素的出現次數
- 11. 快速比較兩個位圖對象每個像素的像素基數
- 12. MATLAB改變矩陣元素
- 13. Android - 更改每個像素的alpha值
- 14. 改變每個空元素的樣式
- 15. 如何使用Magick.Net改變圖像中每個像素的顏色
- 16. 更改數組中的每個元素
- 17. Matlab rgb2hsv改變圖像
- 18. 在Matlab中對矩陣的每個元素應用函數
- 19. 在Matlab中計算每個元素的出現次數
- 20. 在數組中的每個元素之間使用MATLAB linspace
- 21. 如何使matlab中的圖像中的每個第二像素灰色
- 22. 通過MATLAB的像素位置
- 23. 從每個通道(每像素128位)的位圖寫入圖像.net
- 24. 如何使用python更改位圖圖像上的每個像素的RGB值?
- 25. 灰度(每像素8位)在Java圖像像素處理
- 26. 如何訪問每一個圖像像素,MATLAB
- 27. 循環位圖像素以改變位圖的顏色android
- 28. Octave/Matlab:改變matix中某個位置的值
- 29. 在matlab中交換一個圖像中的圓圈像素
- 30. 在MATLAB中更改一行中的像素值
你應該對你想要的結果更具體些。顯然,1位圖像會是兩種顏色,黑色和白色,是你想要的嗎?另外,最小的元素大小是單個字節,所以你打算打包這些值還是隻限制每個像素允許的值的範圍? – jazzbassrob 2013-04-25 19:17:44
另外,有沒有可能你的意思是「字節」而不是「位」?這將更有意義... – jazzbassrob 2013-04-25 19:21:03
不,我的意思是位,我知道1位圖像只會是兩種顏色 – Umdoobby 2013-04-25 19:23:34