当读取RGB像素值的图像时
我想从图像中获取RGB的像素值。我在Matlab和Python中做过,但我获得了不同的值,尤其是绿色值。如果你对此事有什么建议,我将不胜感激。谢谢这是我的python代码
选择 | 换行 | 行号
- from PIL import Image
- import numpy as np
- im = Image.open("lena.jpg")
- imPixelVal = np.ones(np.size(im))
- imSize = np.size(im)
- for i in range (0,imSize[0]):
- for j in range (0,imSize[1]):
- ij = i , j
- p = im.getpixel(ij)
- imPixelVal[i,j] = (0.2989 * p[0]) + (0.5870 * p[1]) + (0.1140 * p[2])
- print p[0]
- print p[1]
- print p[2]
这也是Matlab中的代码:
选择 | 换行 | 行号
- Im=imread('lena.jpg');
- Img = (ones(size(Im,1),size(Im,2)));
- for i=1:size(Im,1)
- for j=1:size(Im,2)
- Img(i,j)=0.2989*Im(i,j,1)+0.5870*Im(i,j,2)+0.1140*Im(i,j,3);
- end
- end
- Im(1,1,1)
- Im(1,1,2)
- Im(1,1,3)