案例2

案 例 2 案例2 2

需求:提取遥控器上的字符区域,并求取每一个区域的面积大小以及外接矩形的长宽,并存储到txt文件中。

需求分析:可以先转换为灰度图或者颜色空间图,将遥控器区域选择出来,选择出来以后,再去求取字符区域,完成后,再对每一个区域进行面积计算。

dev_open_file_dialog ('read_image', 'default', 'default', Selection)
read_image (Image, Selection)

rgb1_to_gray (Image, GrayImage)

threshold (GrayImage, Region, 150, 255)

* 开操作
opening_circle (Region, RegionOpening, 3.5)
connection (RegionOpening, ConnectedRegions)

* 选择最大面积
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
fill_up (SelectedRegions, RegionFillUp)

* 裁剪
reduce_domain (GrayImage, RegionFillUp, ImageReduced)

* mean_image (ImageReduced, ImageMean, 30, 30)
* dyn_threshold (ImageReduced, ImageMean, RegionDynThresh, 10, 'dark')

fast_threshold (ImageReduced, Region1, 0, 100, 20)

orientation_region (Region1, Phi)
area_center (Region1, Area, Row, Column)
vector_angle_to_rigid (Row, Column, Phi, Row, Column, -3.14*0.5, HomMat2D)

affine_trans_region (Region1, RegionAffineTrans, HomMat2D, 'nearest_neighbor')

closing_circle (RegionAffineTrans, RegionClosing, 3.5)

dilation_rectangle1 (RegionClosing, RegionDilation, 1, 11)
connection (RegionDilation, ConnectedRegions1)
select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 150, 99999)

affine_trans_region (Region1, RegionAffineTrans1, HomMat2D, 'nearest_neighbor')

intersection (SelectedRegions1, RegionAffineTrans1, RegionIntersection)

sort_region (RegionIntersection, SortedRegions, 'first_point', 'true', 'row')

select_shape_std (SortedRegions, SelectedRegions2, 'max_area', 70)
* 新建txt
open_file ('test.txt', 'output', FileHandle)
fwrite_string (FileHandle, a)
fnew_line (FileHandle)
fwrite_string (FileHandle, b)
fnew_line (FileHandle)
fwrite_string (FileHandle, c)
fnew_line (FileHandle)
close_file (FileHandle)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值