首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从python中的大图片中提取图片

如何从python中的大图片中提取图片
EN

Stack Overflow用户
提问于 2018-07-24 12:21:08
回答 1查看 2.7K关注 0票数 1

这幅画有一个很大的形象。我只想在大图片中提取矩形图片。大的图像质量很差。因此,您不能只使用特定的RGB,并且背景可能不是白色的。

我是怎么做到的

  • 阈值图像分离背景区域和照片部分。问题是无法随意确定每种图像颜色的阈值(背景是白色的,但图像是接近白色的浅灰背景)。
  • 使用OpenCV2等高线区域查找矩形。问题是,每幅图片的颜色都是随机的,这使得不可能找到一个矩形区域。

我怎样才能剪掉照片?

EN

回答 1

Stack Overflow用户

发布于 2018-07-24 12:35:46

代码语言:javascript
代码运行次数:0
运行
复制
import cv2

image = cv2.imread('image.jpg', cv2.IMREAD_UNCHANGED)

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5,5))
gradient = cv2.morphologyEx(gray, cv2.MORPH_GRADIENT, kernel)

contours = cv2.findContours(gradient, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]

for cnt in contours:
    (x,y,w,h) = cv2.boundingRect(cnt)
    cv2.rectangle(image, (x,y), (x+w,y+h), (0,0,255))

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51498510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档