Python实现灰度变换
2021/10/21 17:09:51
本文主要是介绍Python实现灰度变换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
def Read_raw(filename,w,h,m): #初始化image image=[] for i in range(m*h): image.append([]) for j in range(w): image[i].append(255) #读取raw with open(filename,'rb') as f: data=f.read() #写入raw for i in range(m*h): for j in range(w): image[i][j]=data[i*w+j] print('读取文件{0}成功'.format(filename)) return image def Write_raw(filename,image): #将数组image转为bytes bt=bytearray() for i in range(len(image)): for j in range(len(image[i])): bt.append(image[i][j]) #写入raw with open(filename,'wb') as f: f.write(bt) f.close() print('写入文件{0}成功'.format(filename)) def change(image): red=[] green=[] blue=[] #遍历得像素点的最大值 L=0 for i in range(len(image)): for j in range(len(image[i])): if image[i][j]>L: L=image[i][j] print('得到像素点最大值为{0}'.format(L)) print('计算彩色图像素值中---') for i in range(len(image)): red.append([]) green.append([]) blue.append([]) for j in range(len(image[i])): if image[i][j]<L/4: red[i].append(0) blue[i].append(L) green[i].append(4*image[i][j]) elif image[i][j]>=L/4 and image[i][j]<L/2: red[i].append(0) blue[i].append(2*L-4*image[i][j]) green[i].append(L) elif image[i][j]>=L/2 and image[i][j]<3*L/4: red[i].append(4*image[i][j]-2*L) blue[i].append(0) green[i].append(L) elif image[i][j]>=3*L/4 and image[i][j]<=L: red[i].append(L) blue[i].append(0) green[i].append(4*L-4*image[i][j]) else: print('error') print('计算完成。') #非隔行存储 colour=[] for i in range(len(red)): colour.append(red[i]) for i in range(len(green)): colour.append(green[i]) for i in range(len(blue)): colour.append(blue[i]) return colour image=Read_raw('test2.raw',2823,2320,1) colour=change(image) Write_raw('test2_colour.raw',colour)
这篇关于Python实现灰度变换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python