中易网

如何用python分别提取出某个像素的rgb值并写入一个一行三列的数组中。

答案:4  悬赏:60  
解决时间 2021-01-14 06:48
如何用python分别提取出某个像素的rgb值并写入一个一行三列的数组中。
最佳答案
numpy我用得少。
你上面的程序第一个是缩进有问题,这一句for i in range(2*radius):
第二个问题是cx,cy没有定义?
第三个问题,i,j的循环中没有使用step,这样一个浮点数,可能会按1的step来走,结果应该会与想象的有差距。
第四个问题。img后面有些是[]有些又是()。这个显然有问题
第五个问题,R,G,B应该是被引号括起来的。你直接写个字符在这里,显然也应该不对。
全部回答
你先说报什么错了啊
追问:我其实是不知道怎么从imread的结果中取出rgb的值。 最后的报错是
sumC[1,:,:] = sumC[1,:,:] + img(cx,cy,R)
IndexError: too many indices

我觉得我这么取rgb本身就有错误。求指导。
我用的代码片段你参考一下。
def pj(region):
(w,h)=region.size
t=[0,0,0,0]
for i in range(2,w-2):
for j in range(2,h-2):
(r,g,b,a)=region.getpixel((i,j))
t[0]+=r
t[1]+=g
t[2]+=b
t[3]+=b
t[0]=t[0]/float(w-4)/(h-4)
t[1]=t[1]/float(w-4)/(h-4)
t[2]=t[2]/float(w-4)/(h-4)
t[3]=t[3]/float(w-4)/(h-4)
# #print dir(region)
# for i in range(w):
# for j in range(h):
# region.putpixel((i,j),(t[0],t[1],t[2],t[3]))
return t

可以使用 Python Image Library 做,load() 函数会返回一个对象,这个对象我们可以把它当作一个二维数组对待,而数组中存放的就是点的 RGB 值,可以很容易地访问到任何像素点的 RGB 值:from PIL import Image
 
# 可以支持很多种图片格式.
im = Image.open("your_picture.jpg") 
pix = im.load()
 
# 获得图片的尺度,可以用于迭代
print im.size 
 
# 获得某个像素点的 RGB 值,像素点坐标由 [x, y] 指定
print pix[x,y] 
 
# 设置 [x, y] 点的 RGB 的值为 value 
pix[x,y] = value
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
粘在柜子上的乳胶漆怎么可以擦掉
如果梯子的底端离建筑物9米,那么15米长的梯
蒙古国立大学的师资力量
流水代发工资有公司的名字可以吗
女儿出嫁对亲家夫妇应该怎么讲?
使用vbs读写excel表格数据元素?
一度口にしたことは守るってぇのが男ってもん
在温州苍南灵溪镇,这个工作服是玉清池洗脚城
泪弹不尽当窗滴,就砚旋研墨。溅写到别来,此
草房子是名著吗??????
四分之十×三分之二表示( )?
生柿子和什么东西放在一起熟得快
如何进行电话营销,开头语怎么说?
才智有余德行不足是什么意思求解
评估入账固定资产允许计提折旧吗
推荐资讯
怎样打印Word一篇文档中的第1到第5页,以及第
无缝钢管60和60.3的区别
《尔雅·序》原文是什么?
心灵辩证法的《复活》
求三月的狮子一和二集百度云
华为手机九宫格中间三个滑不了怎么办
别人偷砍了,我家刺杉树25以上私了赔偿多少钱
怎么样创建一个FTP地址?
为什么信号弹的运动轨迹不是他的位置随时间变
在婆婆家,买了袋零食直接拎回房间,是不是太
女人无情便是王吗?
卫生间防水得全部做吗
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?