Python 图片操作

图片读写

Pillow

对于图片的简单读写,常使用pillow进行操作,需要安装:pip install pillow,可以用来画图,或者进行图片读取、裁剪、识别等操作的第三方模块

  • Image下:
    读取图片(一般用Image方法,即from PIL import Image
    1.open():打开图片,举例:image = Image.open("code.jpg")
    2.show():显示图片(我们真正点开文件),举例:image.show()
    3.save():保存图片,举例:image.save("aaa.jpg"),其还有别的参数如保存格式format、图片质量quality,比如我们要以jpg格式保存,并且图片质量是原来的百分之80,:image.save("aaa.jpg", format="jpeg", quality=80)
    4.getpixel ():某一像素点的颜色,传入的像素位置是元组,举例:image.getpixel((0,1))
    5.thumbnail():设置图片尺寸,举例:image.thumbnail((128,128))
    6.size:获取图片尺寸,举例:image.size,返回元组类型,两个值分别为宽和高
  • ImageGrab下:
    对图片操作
    1.截图,四个参数代表左上角坐标和右下角坐标,举例:
image = ImageGrab.grab((0,0,100,100))  #截取(0,0)到(100,100)坐标图片
image.save('a.jpg')
读取黑白二维码,并用数字表示示例
from PIL import Image

image = Image.open('1.png')
# print(image.size)
with open("1.txt", 'w') as f:
   for i in range(image.size[0]):
      for j in range(image.size[1]):
         x = image.getpixel((i, j))     #行对应高,列对应宽
         if x[0]+x[1]+x[2] == 0:        #黑的地方置1
            f.write(str(1))
         else:
            f.write(str(0))
      f.write('\n')
PILLOW读取文件出错:IOError: image file is truncated

执行这两句命令:

from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
验证码生成示例

https://www.cnblogs.com/renpingsheng/p/7482680.html

更多参考

https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014320027235877860c87af5544f25a8deeb55141d60c5000
https://baijiahao.baidu.com/s?id=1595108270577043146&wfr=spider&for=pc

opencv

使用opencv读取图片也是一个很好的选择,而且读出来的数据直接是数组格式,在深度学习的图像处理中经常用到,这块可以参考我的另一篇文章:Python opencv操作图像

Gif图

可以使用imageio模块(pip install imageio)下的mimsave方法,举例:

from imageio import mimsave
from glob import glob
mimsave("aaa.gif", [cv2.imread(each) for each in glob("./*.jpg")], fps=50)
# 用opencv读取当前路径的所有图片,并以一秒50张的帧数保存成gif文件

文字识别

可以使用pytesseract模块
1.image_to_string(image):识别图片内容,例如:text = pytesseract.image_to_string(image),此时text就是读取图片后获得的字符串了
注:
以上基于安装tesseract-ocr的环境,该软件只有命令行

使用方法:

tesseract 要识别的图片 内容写到哪个文件 -l chi_sim+equ+eng(第一个代表中文简体、第二个代表数学公式、第三个代表英文)

举例:
tesseract code.jpg 1.txt -l chi_sim+equ+eng

注2:
当然,图片文字识别方法很多,还可以使用百度文字识别api,其在汉字识别上挺不错,一天能用500次,参见网址:
https://console.bce.baidu.com/ai/#/ai/ocr/overview/index

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容