图像处理业务逻辑

基于anaconda环境,Python3.7

import numpy as np
from PIL import Image

import scipy.signal as signal
im = Image.open("123.jpg")  # 从硬盘中加载到内存
data = []  # 存储图像中所有像素值的list
width, height = im.size  # 将图片尺寸记录下来
for h in range(height):  # 行号
    row = []  # 记录每一行像素
    for w in range(width):  # 每一行像素列位置
        value = im.getpixel((w, h))  # 读取像素点
        row.append(value)  # 加到list中

    data.append(row)

data = signal.medfilt(data, (9, 9, 3))  # 二维中值滤波
data = np.int32(data)  # 转换为int类型  快速滤波
print(data)

for h in range(height):  # 对每一行
    for w in range(width):  # 每一列
        im.putpixel((w, h), tuple(data[h][w]))  # 将data中该位置的值存进图像,参数为tuple
im.save("235.jpg")
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值