当前位置: 首页 > 编程笔记 >

在Python中使用OpenCV裁剪图像

齐弘业
2023-03-14
本文向大家介绍在Python中使用OpenCV裁剪图像,包括了在Python中使用OpenCV裁剪图像的使用技巧和注意事项,需要的朋友参考一下

什么是裁剪?

裁剪是从摄影或插图图像中去除不需要的外部区域。该过程通常包括去除图像的某些外围区域,以从图片中去除多余的垃圾,改善其取景,改变纵横比,或使主题与背景突出或分离。

我们将使用 OpenCV-python (cv2)的这些函数,

  1. imread():此函数就像它采用了文件的绝对路径并读取了整个图像一样,在读取了整个图像之后,它返回给我们图像,并将该图像存储在变量中。

  2. imshow():此功能将显示一个窗口(具有指定的窗口名称),其中包含由 imread() 功能。

  3. shape:该函数将返回高度宽度,和的图像的

让我们举个例子

list a=[1,2,3,4,5,6,7,8,9]

现在,我只想要4到8之间的元素
(包括4和8),所以我们要做的是:

print(a[3:8])
结果会是 : [4,5,6,7,8]

裁剪图像的Python程序

# 导入模块
import cv2

img=cv2.imread("/home/abhinav/PycharmProjects/untitled1/a.jpg")

# 借助读取图像
# (指定绝对路径)
# Imread ()函数,并将其存储在变量 img 中
cv2.imshow("Original Image",img)

# 显示原始图像窗口 
# 命名原始图片
# with the help of imshow() function
height,width=img.shape[:2]

# 在帮助下存储高度和宽度
# 形状函数作为形状返回我们
# three things(height,width,layer) in the form of list
# 但是我们只想要高度和宽度
start_row,start_col=int(width*0.25),int(height*0.25)
end_row,end_col=int(width*0.75),int(height*0.75)

# start_row和start_col是坐标 
# 从我们将开始种植的地方
# end_row和end_col是结束坐标 
# 我们停在哪里
cropped=img[start_row:end_row,start_col:end_col]

# 使用idexing方法裁剪 
# 图像以这种方式
cv2.imshow("Cropped_Image",cropped)
# 使用 imshow ()函数显示 
# 另一个窗口
# 裁剪后的图片包含 
# 图片的一部分
cv2.waitKey(0)cv2.destroyAllWindows()

输出:

Python

您可以看到“裁剪的图像”和“原始图像”(裁剪的过程像是0.25到0.75,行和0.25到0.75列一样,您可以更改数字)。

 类似资料:
  • 问题内容: 我如何像以前在PIL中一样使用OpenCV裁剪图像。 PIL的工作示例 但是我如何在上做到这一点? 这是我尝试的: 但这是行不通的。 我认为我使用不正确。如果是这种情况,请说明如何正确使用此功能。 问题答案: 非常简单。使用numpy切片。

  • 问题内容: 而闭合多边形的坐标是 . 我要区域边界 通过使用opencv裁剪的凹多边形。我找了其他类似的 但我没能找到正确的答案。所以我才这么问? 你能帮助我吗。 任何帮助都将不胜感激。!!! 问题答案: 步骤 使用多边形点查找区域 使用多边形点创建遮罩 做口罩修剪 如果需要,添加白色背景 代码:

  • 我正在使用Python和Opencv。我现在正在做一个车牌识别项目。我现在可以像这样认出这个盘子: 我得到了这样一个“数组”: 问题是:如何用这些坐标裁剪出边界区域? 因为这四个对应项是排列的,它不是一个矩形,所以我不知道如何才能裁剪出来。

  • 我想裁剪图像中最大的对象(字符)。此代码仅在没有线条的情况下有效(如第一幅图所示)。但我需要忽略线,使第二个图像的形象。仅裁剪最大的对象图像。

  • 本文向大家介绍Python OpenCV实现裁剪并保存图片,包括了Python OpenCV实现裁剪并保存图片的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Python OpenCV实现裁剪并保存图片的具体代码,供大家参考,具体内容如下 问题描述 从图片中选出某一区域,Enter保存 1.jpg 代码 PS:x,y为ROI的坐标,w,h为ROI的大小 效果 敲击Enter 得到图片

  • 我试图在从图库中选择图像后使用intent来裁剪图像。以下是我的代码片段 在这里,我使用PICK_IMAGE_REQUEST意图句柄调用上面的代码段 由于我在裁剪后使用了相同的意图,即PICK_IMAGE_REQUEST,可能会出现什么问题