图像处理
文章平均质量分 75
主要介绍pillow和opencv的用法
我的Python教程
零基础Python系列教程,喜欢的老铁可以多多点赞!
展开
-
Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩
4.Image.blend():用于将两个图像混合在一起,根据指定的alpha值来决定每个图像在混合结果中的贡献程度。alpha值范围从0(完全第一个图像)到1(完全第二个图像),当取值=0.5时,为两个图像的中合,因此该值的大小决定了两个图像的混合程度。mask是一个遮罩图像,它决定了 image2 在合成图像中的哪些部分应该是可见的,哪些部分应该是透明的。图像混合与透明度调整:使用Image.blend()方法混合两张图像,通过调整alpha值来控制图像的混合程度。加载图像到内存中,准备进行后续处理。原创 2024-03-25 12:21:06 · 1583 阅读 · 0 评论 -
Pillow教程04:学习ImageDraw+Font字体+alpha composite方法,给图片添加文字水印
pillow版本为10.以上,请使用textbbox来获取文本的大小,低版本的可使用draw.textsize来获取水印文字的大小,然后基于这个大小设置水印文字的位置。接着,我们在水印图像上绘制了带有透明度的文本,最后将原始图像和带有水印文字的图像通过Image.alpha_composite进行alpha合成,生成带有水印的最终图像。4.添加图片水印:图片水印相比文字水印的操作,要更人性化一点,水印文字长短不同,需要重新计算水印的位置。index:要加载的字体索引(默认为第一个可用的字体)。原创 2024-03-22 13:12:52 · 3423 阅读 · 0 评论 -
Pillow教程01:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)
Pillow库支持多种图片格式,包括BMP、GIF、JPEG、PNG、TIFF等,并提供了大量的图片处理函数和方法,如图片的读取、显示、旋转、缩放、裁剪、转换等操作。常见的模式包括 ‘L’(灰度模式,每个像素为8位)、‘RGB’(红绿蓝模式,每个像素为24位)、‘RGBA’(红绿蓝加透明度模式,每个像素为32位)等。4.图像缩放,可以通过resize()方法来实现,resize() 方法使用默认的插值方法(通常是 Image.BICUBIC),但你也可以通过传递一个额外的参数来指定不同的插值方法。原创 2024-03-25 12:28:08 · 2162 阅读 · 0 评论 -
cv2.drawContours绘制轮廓
---------★★历史博文集合★★----------原创 2024-08-01 23:59:45 · 226 阅读 · 0 评论 -
cv2读取中文路径图像名称
1.cv2.imdecode 是 OpenCV 库中的一个函数,用于从内存中的数据解码图像。2.np.fromfile 是 NumPy 库中的一个函数,用于从二进制文件中读取数据并将其转换为 NumPy 数组。假设你有一个图像文件保存在 image.jpg 中,我们可以使用 np.fromfile 读取这个文件的数据,然后使用 cv2.imdecode 来解码它。sep:元素之间的分隔符。----------★★历史博文集合★★----------返回一个 NumPy 数组,包含从文件中读取的数据。原创 2024-08-01 23:24:37 · 355 阅读 · 1 评论 -
OpenCV教程04:结合pillow在图片上显示中文文字
1.如果添加的内容是纯英文文字,直接使用cv2.putText 函数操作即可。但它不支持自定义字体文件,仅限于这些内置的字体样式。如果你需要更复杂的字体支持,可能需要使用其他库,如 Python Imaging Library (PIL) 或 Pillow。2.如果要添加中文文字,在cv2里面显示。可以结合pillow模块种书写文字draw.text及字体函数的相关用法,然后将pil的rgb格式转换cv2中的bgr颜色格式。----------★★历史博文集合★★----------原创 2024-07-17 23:04:29 · 786 阅读 · 0 评论 -
OpenCV教程:cv2如何把两张图片的大小,设置成相同的宽高
请注意,cv2.resize()函数的第一个参数是需要调整大小的图像,第二个参数是新的尺寸(宽度,高度),这是一个元组。你可以根据需要选择不同的插值方法,例如cv2.INTER_LINEAR(默认)、cv2.INTER_CUBIC或cv2.INTER_AREA,这可以通过添加第三个参数来实现,例如cv2.resize(image, size, interpolation=cv2.INTER_CUBIC)。-------------OpenCV教程集合-------------原创 2024-07-15 21:59:37 · 578 阅读 · 0 评论 -
OpenCV 轮廓检测
在 OpenCV 中,轮廓检测是一种用于查找图像中具有相似颜色或强度的连通像素组的技术,这些像素组通常代表了图像中的物体边缘。轮廓可以用来识别和分割图像中的物体,是计算机视觉应用中的一个重要步骤,如目标识别、形状分析等。在上述代码中,cv2.RETR_TREE表示要检索所有轮廓并构建完整的层次结构,而cv2.CHAIN_APPROX_SIMPLE则用于压缩水平、垂直和对角方向上的连续点,仅保留端点。此函数需要一个二值图像作为输入。每个轮廓是一个由点构成的Numpy数组,这些点定义了轮廓的边界。原创 2024-07-15 21:49:50 · 697 阅读 · 0 评论 -
OpenCV教程05:cv2.cvtColor的示例用法
它可以将图像从一个颜色空间转换到另一个颜色空间,比如从 BGR 转换到灰度、HSV、YCrCb 等。在 OpenCV 中,默认加载的图像颜色空间是 BGR(蓝绿红),而不是通常的 RGB(红绿蓝)。因此,在处理图像时,经常需要转换颜色空间。HSV(色调、饱和度、亮度)是一种更直观的颜色空间,它对于某些图像处理任务(如颜色分割、颜色追踪等)来说非常有用。灰度图像是单通道的,每个像素的亮度值由原始图像的 BGR 值根据一定的权重计算得出。-------------OpenCV教程集合-------------原创 2024-07-03 22:47:14 · 871 阅读 · 0 评论 -
OpenCV教程02:图像处理系统1.0(翻转+形态学+滤波+缩放+旋转)
基于OpenCV+tkinter的图像处理系统1.0,主要功能,翻转+形态学+滤波+缩放+旋转的示例用法,代码已跑亲测有效。c.显示图片的窗口大小是固定的,输入的图像最好为250*250,这样刚好显示。a.仅支持png和jpe的图片格式,如果你要添加其他的图片格式,自己在源码里面的通用对话框增加一些格式,默认是显示png格式。b.没有办法,保存生成的新图片,当然你可以参考,历史pillow教程博文中,tk是如何显示和保存图片的。-------------OpenCV教程集合-------------原创 2024-07-03 22:16:54 · 553 阅读 · 0 评论 -
OpenCV银行卡识别思路解析
然而,由于直接使用OpenCV(cv2)库进行完整的银行卡识别可能相对复杂且不够精确,我们通常会结合其他工具或库,如TensorFlow或PyTorch,来构建深度学习模型。但在这里,我将提供一个简化的、基于OpenCV的银行卡识别流程概述,并指出可能需要深度学习或其他高级技术的地方。但是,请注意,Tesseract OCR可能无法处理所有类型的字体和背景噪声,因此你可能需要进一步的预处理或后处理步骤来提高识别率。在这个阶段,你可能需要识别银行卡上的关键区域,如卡号、有效期、持卡人姓名等。原创 2024-06-25 21:41:27 · 570 阅读 · 0 评论 -
OpenCV的学习大纲
使用预训练模型:在OpenCV中加载和使用预训练的深度学习模型(如TensorFlow、Caffe、Darknet等)。图像读取与显示:使用OpenCV函数读取图像文件(如JPG、PNG等),并在窗口中显示图像。OpenCV概述:了解OpenCV的历史、特点、版本和安装方法。图像金字塔:了解图像金字塔的构建和应用(如图像缩放、特征提取)。----------★★历史博文集合★★----------图像表示:学习像素、通道、灰度图像、彩色图像等基本概念。滤波基础:了解卷积、滤波器类型和目的(如平滑、锐化)。原创 2024-06-25 21:22:12 · 1201 阅读 · 0 评论 -
Pillow教程11:九宫格切图的实现方法(安排!!!)
请确保将花.png替换为你的图片文件的实际路径,并根据需要调整spacing变量的值以改变间距的大小。执行脚本后,你会得到一个名为new_image_composed.png的新图片,其中包含了原始图片的9个分割部分,并在每部分之间有一定的白色间距。Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)---------------Pillow教程集合-------------------------★★历史博文集合★★----------原创 2024-04-08 13:35:51 · 559 阅读 · 0 评论 -
Pillow教程:对比两张图片是否相同
如果你需要更复杂的图像比较功能(例如,比较图像的视觉相似性而不是像素值),你可能需要使用更专门的图像处理或计算机视觉库。Pillow(PIL的一个分支)是一个强大的Python图像处理库,但它本身并不直接提供比较两张图片是否完全相同的函数。Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)---------------Pillow教程集合-------------------------★★历史博文集合★★----------3.比较两张图片的每个像素值。原创 2024-04-08 13:33:14 · 646 阅读 · 1 评论 -
Pillow教程10:设计博文的文字背景封面图,再也不担心找不到不素材了
Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩。Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)---------------Pillow教程集合-------------------------★★历史博文集合★★----------Pillow教程08:调整图片的亮度+对比度+色彩+锐度。原创 2024-04-05 14:28:45 · 876 阅读 · 0 评论 -
Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸
1.图片的格式多种多样,常见的有bmp、jpg、png、gif、tiff、psd、ai、webp、eps、svg、cdr、pcd、dxf、raw等。ICO (Icon) 是一种用于图标文件的格式,通常用于存储应用程序图标、文件夹、文件等在图形用户界面(GUI)中的小图像。raw:是数码相机拍摄照片时最常用的格式之一,它是一种未经压缩的图像格式,保留了相机捕捉的所有信息。bmp:是一种与硬件设备无关的图像文件格式,使用非常广泛。---------------Pillow教程集合---------------原创 2024-04-03 14:37:11 · 1723 阅读 · 0 评论 -
Pillow教程06:将图片中出现的黄色和红色,改成绿色
在这种颜色空间中,颜色被表示为色相(Hue)、饱和度(Saturation)和明度(Value或Brightness)三个分量的组合。在HSV中,色相通常表示为0到360度的角度,其中0(或360)度代表红色,120度代表绿色,240度代表蓝色。饱和度越低,颜色越接近灰色。最后,这个代码没有处理饱和度(S)和明度(V)值的变化,这可能会导致修改后的颜色看起来与原始图像中的颜色不同。自己可以进一步,在下面的源码基础上,调整红色和黄色的HSV色相值范围,这样就可以去掉一些残留的颜色斑点,使图像更完美。原创 2024-03-27 12:33:06 · 1114 阅读 · 0 评论 -
Pillow教程07:调整图片的亮度+对比度+色彩+锐度
当增强因子大于1.0时,图像的锐度会增加,边缘会变得更加清晰;当增强因子小于1.0时,图像的锐度会减弱,边缘会变得更加模糊。1.调整亮度:首先,需要打开图像,然后创建一个Brightness对象,并使用其enhance方法来调整亮度。下面的,左边第一个为原图,第二个是亮度增加,第三个是亮度减少的效果。2.调整对比度,与调整亮度类似,可以使用ImageEnhance.Contrast来调整图像的对比度。---------------Pillow教程集合---------------原创 2024-03-27 12:20:09 · 985 阅读 · 0 评论 -
Pillow教程05:NumPy数组和PIL图像的相互转化
最后,它使用np.full来创建每个小块的颜色数组,并将这些数组放置到原始图像数组的相应位置。NumPy数组的形状通常对应于图像的宽度、高度和(可能的)颜色通道数。当你有一个NumPy数组,并且该数组的数据类型和形状适合表示图像时,你可以使用Image.fromarray()来将这个数组转换为一个PIL图像对象。数组的第一个维度是图像的高度(行数),第二个维度是图像的宽度(列数),第三个维度是颜色通道数(对于RGB图像通常是3)。数组中的每个元素对应图像中的一个像素,其值表示该像素在对应颜色通道中的强度。原创 2024-03-25 12:35:22 · 2385 阅读 · 0 评论 -
Pillow教程:翻转图像
在Pillow(PIL的一个分支)库中,Image.transpose() 方法用于翻转或旋转图像。这个方法接受一个参数,该参数是翻转或旋转操作的类型,以预定义的常量来表示。1.翻转图像:可以通过transpose()方法实现,它接受不同的参数来指定翻转的方向。该参数是翻转或旋转操作的类型,以预定义的常量来表示。----------★★历史博文集合★★----------原创 2024-03-19 12:04:08 · 920 阅读 · 0 评论