美文网首页
python常用图片操作:创建、读写、裁剪

python常用图片操作:创建、读写、裁剪

作者: jadefan | 来源:发表于2020-09-14 17:05 被阅读0次

python有各种组件的加持,功能强大,操作图片比较方便快捷,代码也比较简洁
整理下常用的操作,以后备用

一、图片创建

方法一
import numpy as np
import cv2
...
# 创建空图片
img = np.zeros((imgHeight, imgWidth, 3), np.uint8)
# 根据矢量数据填充颜色
area = np.array(regionXY)
cv2.fillPoly(img, [area], (255, 255, 255))

cv2.imwrite(path, img)
方法二
from PIL import Image
...
image = Image.new(mode='RGBA', size=(imgWidth, imgHeight))
for x in range(imgWidth-1):
  for y in range(imgHeight-1):
    pixdata[x,y] = (255,255,255,255)
image.save(imgPath)

二、图片读写

from PIL import Image
...
img = Image.open(imgPath)    #读入
size = img.size()
pixdata = img.load()
pixdata[0,0] = (255,255,255,255)  #修改颜色
img.save(imgPath)

三、图片裁剪

根据规则提取像素
  1. 定义提取规则,比如某某颜色、符合某数据函数的像素、距离判断、图形关系等
  2. 遍历每个像素,修改或另存
规则矩形裁剪
from PIL import Image
...
img = Image.open(imgPath)
box = (left, upper, right, lower)   #裁剪范围
region = img.crop(box)
region.save(regionPath)
不规则多边形

实际项目中会有用不规则多边形裁剪图像,比如某行政区划、某物品轮廓等
如果遍历像素判断与矢量图形的关系,执行效率会非常慢,

  1. 将用turtlecv2掩膜矢量数据转为栅格数据,比如jpg\png,
  2. 确定目标图片和掩膜像素的对应关系
  3. 遍历目标图片像素操作

相关文章

  • python常用图片操作:创建、读写、裁剪

    python有各种组件的加持,功能强大,操作图片比较方便快捷,代码也比较简洁整理下常用的操作,以后备用 一、图片创...

  • 【Python】文件读写

    不管什么语言,读写文件都是最基本而且最常用的操作。在进行读写操作之前,必须先用Python内置的open()函数打...

  • Python中文件的读取

    读写文件是数据分析中常用的操作。Python内置了读写文件的函数。需要了解的是,在磁盘上读写文件的功能都是由操作系...

  • Python之文件操作

    文件读写 文件读写是最基本的IO操作,在Python中内置了open函数来用于文件的读写操作,此函数创建一个文件对...

  • Python 文件操作

    一. Python 读写 创建文件 Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 sh...

  • pillow 学习笔记(11.12.2017)

    本文基于PIL简明教程Python图片裁剪(如: 头像裁剪)pillow官方文档 PIL(Python Image...

  • Python之路7:文件处理

    文件处理的操作 基础语法: python打开文件常用模式: 只读,读写,二进制只读及读写模式 只读模式打开一个文件...

  • Python(九)文件处理

    一、简介 Python InOut操作除了前面的对键盘、屏幕进行读写操作外,另外一个常用的输入/输出类型是处理文件...

  • 2018-09-13 File processing

    Python InOut操作除了前面的对键盘、屏幕进行读写操作外,另外一个常用的输入/输出类型是处理文件,比如需要...

  • Python裁剪图片

    PIL切割使用的Python PIL库的 Image.crop示例: left 距离左边 边距 可看做x坐标up...

网友评论

      本文标题:python常用图片操作:创建、读写、裁剪

      本文链接:https://www.haomeiwen.com/subject/hvbzektx.html