标签:add raw bsp res 半径 red 指定 features circle
read_image(Image, 'fabrik') threshold(Image, Region, 128, 255) connection (Region, ConnectedRegions) *变换区域的形状(凸包性等) shape_trans(ConnectedRegions, RegionTrans, 'convex') *区域筛选 select_shape(ConnectedRegions, ConnectedRegions, 'area', 'and', 100, 99999) *平行于主轴的最小矩形 smallest_rectangle1 (ConnectedRegions, Row1, Column1, Row2, Column2) *任意方向的最小矩形(复杂但快速的方法) smallest_rectangle2(ConnectedRegions, Row, Column, Phi, Length1, Length2) *最小外接圆 smallest_circle(ConnectedRegions, Row3, Column3, Radius) gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2) gen_rectangle2 (Rectangle1, Row, Column, Phi, Length1, Length2) gen_circle(Circle, Row3, Column3, Radius) count_obj(Rectangle,Number2) count_obj (Circle, Number3) *把第二个参数里的所有区域合并到第一个参数的每一个区域中 union2 (Rectangle,Circle,RegionUnion1) connection (RegionUnion1, ConnectedRegions1) count_obj(ConnectedRegions1, Number1) *把所有ROI合并成一个区域 union1 (Circle, RegionUnion) count_obj(RegionUnion, Number) *计算每个输入区域的补集 complement (RegionUnion, RegionComplement) *第一个参数中的每一个区域与第二个参数中的区域进行相交 intersection(Circle,Rectangle,RegionIntersection) *去掉第二个参数与第一个参数共有的区域(在第一个区域中出现但不在第二个区域中) difference(Rectangle,ConnectedRegions,RegionDifference) draw_rectangle1(3600, Row11, Column11, Row21, Column21) gen_rectangle1 (Rectangle2, Row11, Column11, Row21, Column21) *求Region指定特征值 region_features (Rectangle2,'area', Value) *裁剪图像(两种方法) add_channels(Rectangle2, Image, GrayRegions) crop_domain (GrayRegions, ImagePart) reduce_domain (Image,Rectangle2, ImageReduced) crop_domain(ImageReduced, ImagePart1) *对灰度值进行线性变换(g' := g * Mult + Add) scale_image(Image,ImageScaled,1,20) min_max_gray(Rectangle2, ImageScaled, 0, Min, Max, Range) *把灰度值拉升到0-255 scale_image_max(ImageScaled, ImageScaleMax) min_max_gray (Rectangle2, ImageScaleMax, 0, Min1, Max1, Range1) 算子释义: shape_trans(Region : RegionTrans : Type : ) 参数Type的可选项如下: convex:凸包性 ellipse:与输入区域有相同的矩和区域的椭圆 outer_circle:最小外接圆 inner_circle:最大内接圆 rectangle1:平行于坐标轴的最小外接矩形 rectangle2:最小外接矩形 inner_rectangle1:平行于坐标轴的最大内接矩形 inner_rectangle2:输入区域的骨架点拥有同输入区域的重心点最小的距离 PS:如果Type是outer_circle,最终的圆形区域不是完全覆盖输入区域,因为内部算法原理 是由算子smallest_circle和gen_circle完成的。由smallest_circle计算的半径能够小到1/sqrt(2)-0.5个像素。 同时,由gen_circle生成的圆在双方向上由0.5个像素转换。因此,当加入双方的影响, 原因区域可能要超出返回圆形区域至多1个像素标签:add raw bsp res 半径 red 指定 features circle
原文地址:http://blog.51cto.com/green906/2156709