Region运算之骨骼网格鞍点

1.select_region_point(Region:DestRegions:Row,Column:)
*选择包括已给点的所有区域
2.skeleton(Region:Skeleton:)
*获得区域的骨骼
3.junctions_skeleton(Region:EndPoints,JuncPoints)
*获得骨架区域的交点和结束点
read_image(lena,'C:/Users/z12073245/Desktop/lena.jpg')
dev_close_window()
dev_open_window(0,0,512,512,'black',WindowHandle)
dev_display(lena)
threshold(lena,Region, 128, 255)
connection(Region, ConnectedRegions)
*选择包括已给点的所有区域
select_region_point(ConnectedRegions, DestRegions, 100, 100)
select_region_point(ConnectedRegions, DestRegions1, 154, 254)
threshold(lena, Region1, 0, 50)
connection(Region1, ConnectedRegions1)
skeleton(ConnectedRegions, Skeleton)

junctions_skeleton(Skeleton, EndPoints, JuncPoints)


gen_grid_region(:RegionGrid:RowSteps,ColumnSteps,Type,Width,Height:)
*生成网格/点区域
2.projection_pl(::Row,Column,Rowl,Column1,Row2,Column2:RowProj,ColProj)
*计算点到直线的投影
* Create a region from lines or pixels
* 
read_image (Image, 'particle')
get_image_size (Image, Width, Height)
Gap := 10
gen_grid_region (RegionGrid, Gap, Gap, 'lines', Width, Height)
* Reduce the domain of the image
reduce_domain (Image, RegionGrid, ImageReduced)
* Select gray values lying within an interval
threshold (ImageReduced, Region, 100, 255)
dilation_rectangle1 (Region, RegionDilation, Gap, Gap)
reduce_domain (Image, RegionDilation, ImageReduced2)
threshold (ImageReduced2, Region, 100, 255)

gen_grid_region列子


projection_pl.hdev

dev_clear_window()
dev_open_window(0,0,512,512,'black',WindowID)
dev_set_color('green')

RowLine1 :=200
ColLine1 :=100
RowLine2 :=120
ColLine2 :=200

Rows :=150
Columns := 50

disp_line(WindowID,RowLine1,ColLine1,RowLine2,ColLine2)
gen_region_line(RegionLines1,RowLine1,ColLine1,RowLine2,ColLine2)

n := 0
for Rows := 20 to 100 by 4
    dev_set_color('red')
    gen_circle(Wcir, Rows + n, Columns, 3)
    projection_pl(Rows + n, Columns, RowLine1, ColLine1,RowLine2,ColLine2,RowProj,ColProj)
    dev_set_color('blue')
    gen_circle(Wcir,RowProj,ColProj,3)
    gen_region_line(RegionLines,Rows+n,Columns,RowProj,ColProj)
    distance_ss(Rows,Columns,Rows+n,Columns+n,RowLine1,ColLine1,RowLine2,ColLine2,DistanceMin,DistanceMax)
    n := n + 8
endfor

read_image(Image,'landmarks')
get_image_size(Image,Width,Height)
dev_close_window()
dev_open_window(0,0,Width,Height,'black',WindowHandle)

rgb1_to_gray(Image,GrayImage)
sigma := 1.5
Threshold := 12

saddle_points_sub_pix(GrayImage,'facet', Threshold, sigma, Row, Column)
gen_cross_contour_xld(Crosses,Row,Column,12,0.785398)
dev_display(GrayImage)
dev_set_color('blue')
gen_cross_contour_xld(Crosses,Row,Column, 12, 0.785398)


猜你喜欢

转载自blog.csdn.net/zxl2712028/article/details/80204281
今日推荐