我也是无聊透顶了,你要的效果来了- *读图
- read_image (Image, 'C:/Users/yoga/Desktop/测试图像/月亮.png')
- read_image (ImagePart, 'C:/Users/yoga/Desktop/测试图像/飞机.png')
- dev_update_off ()
- count_seconds (Seconds)
- *rgb分离
- decompose3 (Image, ImageR, ImageG, ImageB)
- decompose3 (ImagePart, ImagePartR, ImagePartG, ImagePartB)
- *获取目标点
- threshold (ImageR, Region, 128, 255)
- connection (Region, ConnectedRegions)
- select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
- area_center (SelectedRegions, Area, Row, Column)
- *飞机去背景
- auto_threshold (ImagePartR, Regions1, 2)
- select_shape_std (Regions1, SelectedRegions1, 'max_area', 70)
- connection (SelectedRegions1, ConnectedRegions1)
- select_shape_std (ConnectedRegions1, SelectedRegions2, 'max_area', 70)
- difference (ImagePartR, SelectedRegions2, RegionDifference)
- connection (RegionDifference, ConnectedRegions2)
- select_shape_std (ConnectedRegions2, SelectedRegions3, 'max_area', 70)
- get_region_points (SelectedRegions3, PartRows, PartColumns)
- count:=|PartRows|
- startRs:=gen_tuple_const(count, Row)
- startCs:=gen_tuple_const(count, Column)
- *将所有像素坐标加上偏移量
- Rows:=startRs+PartRows
- Cols:=startCs+PartColumns
- *r绘制
- get_grayval (ImagePartR, PartRows, PartColumns, Grayval)
- copy_image (ImageR, DupImageR)
- set_grayval (DupImageR, Rows, Cols, Grayval)
- *g绘制
- get_grayval (ImagePartG, PartRows, PartColumns, Grayval1)
- copy_image (ImageG, DupImageG)
- set_grayval (DupImageG, Rows, Cols, Grayval1)
- *b绘制
- get_grayval (ImagePartB, PartRows, PartColumns, Grayval2)
- copy_image (ImageB, DupImageB)
- set_grayval (DupImageB, Rows, Cols, Grayval2)
- compose3 (DupImageR, DupImageG, DupImageB, MultiChannelImage)
- count_seconds (Seconds1)
- tt:=(Seconds1-Seconds)*1000
复制代码
结果图像
|