如果你努力的话,那是件容易的事。这是我的输出(图像和它的一小部分)

我做了什么?先调整图像的大小,因为它在我的屏幕上太大了

侵蚀、扩张以去除小点并加厚线条

阈值图像

洪水泛滥,从正确的点开始

倒洪

找到轮廓并一次画一个,其范围约为

矩形上的区域。对于我调整大小的(500x500)图像,我将

轮廓在500到2500之间(无论如何都是反复试验)。

找到边界矩形并从主图像中裁剪该遮罩。

然后用正确的名字保存那篇文章-我没有这么做。

也许,有一个更简单的方法,但我喜欢这个。不放代码是因为

我弄得很笨拙。如果你还需要的话会放进去的。

下面是每次找到轮廓时遮罩的外观

代码:import cv2;

import numpy as np;

# Run the code with the image name, keep pressing space bar

# Change the kernel, iterations, Contour Area, position accordingly

# These values work for your present image

img = cv2.imread("your_image.jpg", 0);

h, w = img.shape[:2]

kernel = np.ones((15,15),np.uint8)

e = cv2.erode(img,kernel,iterations = 2)

d = cv2.dilate(e,kernel,iterations = 1)

ret, th = cv2.threshold(d, 150, 255, cv2.THRESH_BINARY_INV)

mask = np.zeros((h+2, w+2), np.uint8)

cv2.floodFill(th, mask, (200,200), 255); # position = (200,200)

out = cv2.bitwise_not(th)

out= cv2.dilate(out,kernel,iterations = 3)

cnt, h = cv2.findContours(out,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

for i in range(len(cnt)):

area = cv2.contourArea(cnt[i])

if(area>10000 and area<100000):

mask = np.zeros_like(img)

cv2.drawContours(mask, cnt, i, 255, -1)

x,y,w,h = cv2.boundingRect(cnt[i])

crop= img[ y:h+y,x:w+x]

cv2.imshow("snip",crop )

if(cv2.waitKey(0))==27:break

cv2.destroyAllWindows()

python检测图像中的矩形_检测图像中的矩形并裁剪相关推荐

  1. python识别虚假新闻的分类器_检测假新闻:比较不同的分类方法的准确率

    这些推特是真的还是假的? 他们肯定是假的.在7月15日时,Twitter出现了一个大问题,大账户被黑客入侵,要求比特币捐款,并承诺将捐款金额翻倍.所以即使这些推特是真实的,它们也包含了虚假信息. 这不 ...

  2. python图像特征提取与匹配_[OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (二)...

    部分 V 图像特征提取与描述 34 角点检测的 FAST 算法 目标 • 理解 FAST 算法的基础 • 使用 OpenCV 中的 FAST 算法相关函数进行角点检测 原理 我们前面学习了几个特征检测 ...

  3. 自动检测技术学习心得体会_公司参加中机建设首届BIM技术应用培训班人员顺利结业...

    为全面提升中机建设系统 BIM 技术应用水平,培养和扩大BIM 人才队伍,组织选拔国机集团"第一届建筑信息模型(BIM)技术应用技能大赛"参赛选手.8月23日至9月11日,中机建设 ...

  4. 提取图像感兴趣区域_从图像中提取感兴趣区域

    提取图像感兴趣区域 Welcome to the second post in this series where we talk about extracting regions of intere ...

  5. [转载] python获取set中某些元素_取集合中元素_Python Set集合

    参考链接: Python set集合 copy() Set集合 阅读本文需要3分钟 2019.09.05 集合(set)是一个无序不重复元素的序列.基本功能是进行成员关系测试和删除重复元素.可以使用大 ...

  6. python怎么选取不连续的列_用pandas中的DataFrame时选取行或列的方法

    如下所示: import numpy as np import pandas as pd from pandas import Sereis, DataFrame ser = Series(np.ar ...

  7. python统计有几个单词_统计文件中单词的个数---Shell及python版

    最近在看shell中有个题目为统计单词的个数,使用了awk功能,代码如下 #!/bin/bash if [ $# -ne ];then echo "Usage:basename $0 fil ...

  8. python获取set中某些元素_取集合中元素_Python Set集合

    Set集合 阅读本文需要3分钟 2019.09.05 集合(set)是一个无序不重复元素的序列.基本功能是进行成员关系测试和删除重复元素.可以使用大括号 { } 或者 set() 函数创建集合,注意: ...

  9. python聚类分析如何确定分类个数_确定聚类分析中的类别个数的方法

    1.gap statistic 以k-means聚类为例,对于一个聚类个数k,首先利用k-means聚类将样本聚成k类,然后计算k类中各类内各点与类中心的距离加和W(ki),进而计算k类的距离加和W( ...

  10. 外星人图像和外星人太空船_卫星图像:来自太空的见解

    外星人图像和外星人太空船 By Christophe Restif & Avi Hoffman, Senior Software Engineers, Crisis Response 危机应对 ...

最新文章

  1. php 引入类_PHP 如何引入同一文件下多个class类
  2. Shell脚本中函数的定义和调用笔记
  3. 非主流图片制作工具_图片制作工具怎么用?有什么功能。
  4. python读取文件内容-Python读取文件内容与存储
  5. Linux下的进程管理——task_struct
  6. Jquery.ajax发送参数调用.Net Mvc子方法返回一个子页面嵌入当前页
  7. rost反剽窃检测系统_论文为什么需要进行查重检测?
  8. 移动创业者,这么多免费资源,你不要?
  9. AspNetPager常用属性及用法 / URLRewrite伪静态与AspNetPager分页控件的结合
  10. python制作日历并保存成excel_python台历代码--涉及知识点为Excel表格合并等操作
  11. CSS中字体响应式的设置 rem与px的转换
  12. mkv格式怎么转换成mp4?
  13. Unity官方文档解读之如何使用粒子系统创建汽车尾气
  14. el表达式中三元表达式
  15. python 关键词 抓取网页_python网络爬虫爬取网页内容
  16. mysql sid是什么_数据库名、数据库实例、全局数据库名、服务名、SID等的区别
  17. html 在线打开pdf文件怎么打开,在HTML中打开pdf文件怎么打开
  18. 一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如6=1+2+3.编程 找出1000以内的所有完数。
  19. 微型计算机指令系统-移位指令
  20. FFMPEG关于avio_alloc_context申请使用内存释放问题

热门文章

  1. netflix 会员看整部_Netflix –您租了多少部电影
  2. 食品行业质量追溯体系的建设(二)                      --- 寻求精度合适合规的质量追溯方案
  3. 安装Visio时的问题
  4. 【C语言基础07】while语句的定义、使用、功能、例子、注意事项
  5. 巨人史玉柱经典创业语录
  6. 2021年华南师范大学软件学院电子信息专硕上岸贴
  7. 广州的程序员收入水平如何?我来和大家聊一聊真实情况
  8. 陷波超宽带天线设计学习
  9. [NOIP] [线段树] NOIP2012Day2 借教室(classroom)
  10. 两相混合式步进电机控制方法介绍