PIL图像处理-二值化

news/2024/7/21 5:15:35 标签: 图像处理, 二值化, PIL

时隔很久才知道原来这种对图像的处理方式叫做二值化!什么是二值化呢?就是把一张图的像素点编程0或255,完全的白或黑。

比如这么一张32*32的小图片(当然他已经是黑白的了)
在这里插入图片描述
二值化处理之后,每个像素点上就只有两个值,要么是True要么是False。
将其转化为0,1之后,就变成下面这样

在这里插入图片描述
这样处理数据会很方便。


需要导入的库是PIL

源码

from PIL import Image
import numpy as np
img = Image.open('2.png')
img = img.convert('1') # 图像二值化
arr = np.array(img)

for i in range(32):
    for j in range(32):
        if arr[i, j] == True:
            print('0', end='')
        else:
            print('1', end='')
    print()

改变图片像素
如将一张320320的数字图片,变成我们需要处理的3232规格的图片。
原图
在这里插入图片描述
转化后图
在这里插入图片描述
代码

from PIL import Image
def produceImage(file_in, width, height, file_out):
    image = Image.open(file_in)
    resized_image = image.resize((width, height), Image.ANTIALIAS)
    resized_image.save(file_out)
 

file_in = '6.1.png'
width = 32
height = 32
file_out = '6.1.out.png'
produceImage(file_in, width, height, file_out)

参考:https://blog.csdn.net/xiaosa_kun/article/details/84868348


http://www.niftyadmin.cn/n/1686694.html

相关文章

Codeforces Round #710 (Div. 3) G. Maximize the Remaining String(单调栈、模拟)

有以下事实&#xff1a; 当后一个字符比前一个字符大,并且前一个字符后面还有出现&#xff0c;则删除之 如果这个字符是这种字符出现的最后一个位置&#xff0c;则加入&#xff0c;并在之后不能删除 同种字符只能在答案出现一次 #include<bits/stdc.h> using namespa…

Ubuntu 12.04添加 终端Terminal到桌面和右键

前几天安装了Ubuntu 12.04 的虚拟机&#xff0c;发现不仅桌面上没有Terminal程序&#xff0c;按右键也没有打开Terminal的选项。于是自己手动添加。 1、添加Terminal的快捷方式到桌面 进入路径/usr/share/applications/ 目录&#xff0c;找到Terminal 单击右键&#xff0c;选…

Leetcode 第 234 场周赛 A 5713. 字符串中不同整数的数目(正则语法糖)

利用正则表达式过滤掉字母 最后强转数字、去重 统计数目 class Solution:def numDifferentIntegers(self, word: str) -> int:res re.split(r[a-z], word)#print(res)return len(set([int(i) for i in res if len(i)]))

python 3.7 安装 openCV-离线

openCV是无法直接输入命令pip install openCV 安装的&#xff0c;需要到官网下载对应python版本的安装文件来安装。 官网&#xff1a;https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv 找到对应python版本&#xff0c;操作系统&#xff0c;32位/64位系统的whl文件下载。有…

Leetcode 第 234 场周赛 B 还原排列的最少操作步数(规律)

其实你多写几个就可以知道 当1这个数字恢复到正常位置了就是最小步数&#xff0c;可以去模拟一下&#xff0c;复杂度O(n&#xff09; class Solution { public:int reinitializePermutation(int n) {int posn/2,ans1;while(pos!1){if(pos%20)pospos/2;else posn/2(pos-1)/2;an…

给Hyper-V的某个虚拟机创建快捷方式

找到vmconnect.exe文件所在位置&#xff0c;可用everything直接搜索。 发送快捷方式到某个地方如桌面&#xff0c;修改运行权限为管理员。 编辑快捷方式的目标&#xff0c;在vmconnect.exe之后&#xff0c;跟两个参数&#xff0c;分别是主机名和在虚拟机的名字。

Ubuntu常见命令及使用技巧

一个查询Linux命令比较方便的网址http://man.linuxde.net/ 1、在ubuntu 12.04系统中&#xff0c;使用CtrlAltF1~6切换到shell&#xff0c;使用CtrlAltF7切换到图形界面 2、使用touch新建一个文件 3、在命令前使用sudo获取root权限 4、使用nano进入nano编辑器&#xff0c;比用…

真-百度网盘不限速-baiduPCS-Go

软件名&#xff1a;baiduPCS-Go 这个工具实测是真的不会限速&#xff0c;满带宽下载&#xff0c;但是有一个问题&#xff0c;那就是百度检测到你普通账号在一段时间内下载内容过多将会对你进行限速&#xff0c;这个限速要开一个普通会员&#xff08;据说&#xff0c;没开过&am…