今天带来的代码是关于图片处理的,近期接触的,不是很熟悉

今天写了代码的唯一感触就是对图片数组的理解要深入了一点

图片的每一个像素点由一个rgb数组标识,通过numpy库的数组工具可以对数组进行批处理(今天主要用到的是范围性质的值修改操作)

  • 主要提供两个方法:建议用第二种
  • 方法一:随机生成一个颜色rgb数组,将随机值赋值图片指定位置
  • 方法二:通过获取图片范围块的一个rgb颜色值(我方法里面使用的是获取中心点颜色值的操作),方法提供了每次取块大小的参数(depts),该参数值越小,每次处理的单元块越精确,但是偏小的话过度精密,具体适合的值自己测试
  • 以下为代码部分,多有不足,欢迎私信探讨
import numpy as np
from PIL import Image
import random'''@Author:王磊@Time  :2018/11/15 12:30:05
'''def getRandArr():'''返回随机颜色数组'''return np.full((1, 3), random.randint(0, 255))def method1(depts, start, end):''':param depts: 马瑟克块元素大小:param start: 马赛克横坐标起点元组:param end: 马赛克纵坐标起始点元组:return:'''im1 = np.array(Image.open("C:\\Users\\asus\\Desktop\\img\\statue_small.jpg"))for i in range(start[0], start[1], depts):for j in range(end[0], end[1], depts):im1[i:i + depts, j:j + depts] = getRandArr()im2 = Image.fromarray(im1.astype("uint8"))im2.show()def method2(depts, start, end):''':param depts: 马瑟克块元素大小:param start: 马赛克横坐标起点元组:param end: 马赛克纵坐标起始点元组:return:主要通过中间值的rgb对局部范围块的rgb做修改,depts值越小越精确'''im1 = np.array(Image.open("C:\\Users\\asus\\Desktop\\img\\statue_small.jpg"))for i in range(start[0], start[1], depts):for j in range(end[0], end[1], depts):im1[i:i + depts, j:j + depts] = im1[i + (depts // 2)][j + (depts // 2)]im2 = Image.fromarray(im1.astype("uint8"))im2.show()if __name__ == '__main__':'''相对方法来说,方法2更实用''''''方法1(通过随机颜色值对选中范围打马赛克)'''#method1(20, (200, 300), (140, 240))'''方法2(通过选中范围的中间值颜色数组打马赛克)'''method2(15, (200, 300), (140, 240))

♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪
♪♪后续会更新系列小工具教程,欢迎关注探讨。♪♪
♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪♪

Python工具系列之给图片指定位置范围打上马赛克相关推荐

  1. Python工具之一:九宫格图片极致裁剪

    博客迁移 个人博客站点,欢迎访问,www.jiingfengji.tech Python工具之一:九宫格图片极致裁剪 工具用途 在读到文章(https://blog.uwa4d.com/archive ...

  2. 【python基础系列】实现图片分割

     [python脚本系列]实现图片分割           大家好,我是Lampard猿奋~~       欢迎来到python脚本系列的博客       大家可能会遇到秀恩爱发朋友圈,没有9图强行凑 ...

  3. python识别图片指定位置文字_python批量识别图片指定区域文字内容

    Python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  4. Pdf 插入图片 | 指定位置插入图片 不改变原格式 直接操作 pdf

    // 获得pdf页数 int pdfPage = DocUtil.getPdfPage(filePath); //指定将和 图片拼接的 PDF// 获取第一页宽和高 PdfReader pdfread ...

  5. python使用matplotlib画图时在指定位置加上文字

    使用plt.text().该函数的语法如下: plt.text(x, y, s, fontdict=None, withdash=False, **kwargs) 参数说明: x 和 y:表示文本注释 ...

  6. python 模拟鼠标点击桌面指定位置

    from pykeyboard import * from pymouse import * import win32api # 键盘鼠标事件 m=PyMouse() k=PyKeyboard() # ...

  7. Pdf 插入图片 | 指定位置插入图片 不改变原格式 直接操作

    直接可用 大神链接地址: https://blog.csdn.net/qq_35077107/article/details/102653651?utm_medium=distribute.pc_re ...

  8. python解/压缩文件夹到指定位置

    # 将zip数据解压到workspace/image文件夹 import zipfile def unzip_file(zip_src, dst_dir):r = zipfile.is_zipfile ...

  9. 用 Python 自动生成 Word 文档并在指定位置插入图片

    用Python生成Word文档 在指定位置插入图片 首先当然需要第三方库啦(▽) 天才第一步,第三方的库O(∩_∩)O哈哈~ 参照转发的是这位大佬的博客:https://blog.csdn.net/c ...

最新文章

  1. 关于WPF 中 “System.Windows.Markup.XamlParseException”类型的未经处理的异常在 PresentationFramework.dll 中发生 异常的处理。
  2. (chap6 Http首部) 响应首部字段 LocationProxy-AuthenticateRetry-After
  3. 我用着不舒服的东西, 就TM是不合理的东西!!!
  4. rhel5.5下安装awstats实现网站流量监控
  5. 平板电脑可以插u盘吗_电视TV盒子安装app的六个方法,u盘/电脑/手机都可以安装...
  6. VScode 知识点查阅
  7. 云计算之路-阿里云上:Web服务器请求到达量突降
  8. 可穿戴医疗设备行业调研报告 - 市场现状分析与发展前景预测
  9. 38线性映射05——代数与代数同构
  10. kuangbin线段树专题
  11. c/c++语言实现登陆界面
  12. 企业官方微博的视觉设计与营销策略分析
  13. HDU6438(贪心技巧)
  14. ERROR: No matching distribution found for xxx
  15. 这次,大数据工程师赢了!
  16. 人人开源前后端分离部署到阿里云服务器
  17. oracle中update,insert,delete的高级用法
  18. CSS translation
  19. 【测评】迅为4418/6818开发板安卓Android开发板
  20. Python中的自定义模块

热门文章

  1. 为什么玩家总是留不住?试试这样搭建社交生态
  2. js中string转int
  3. 归纳2018:芯片已先行,5G终端触手可及
  4. bat脚本中调用另一个bat的坑
  5. 季老走好:季羡林十条经典语录 (句句真理受益无穷)
  6. css删除li 圆点_CSS 去除列表项li前面的小圆点
  7. 梦幻模拟战手游怎么在电脑上玩 梦幻模拟战安卓模拟器玩法教程
  8. HTML学习12 js-DOM
  9. mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘ (using password: NO)
  10. 开源软件的安全性风险_开源硬件如何提高安全性