定义域(ROI)
修改图像的定义域(ROI),不会改变图像的尺寸。
-
获得图像的当前定义域
get_domain (Image, Domain)
-
用矩形去改变图像的定义域。
dev_get_window (WindowHandle)
read_image (Image, 'mvtec_logo')
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
* 矩形定义域
rectangle1_domain (Image, ImageReduced, Row1, Column1, Row2, Column2)
dev_clear_window ()
dev_display (ImageReduced)
- 用任意形状的区域去改变图像的定义域
dev_get_window (WindowHandle)
read_image (Image, 'mvtec_logo')
draw_region (Region, WindowHandle)
* 任意形状定义域
reduce_domain (Image, Region,ImageReduced)
dev_clear_window ()
dev_display (ImageReduced)
-
扩展图像的定义域到最大(去除ROI)
full_domain (ImageReduced, ImageFull)
-
图像的定义域更换
change_domain (Image,Domain, ImageNew)
-
批量改变图像定义域
- 与reduce_domain的区别是reduce_domain只对第一个区域有效,结果只有一副图像
- add_channels 生成的 图像数量与Regions的数量一致
concat_obj (Domain1, Domain2, Regions)
add_channels (Regions, Image, GrayRegions)
图像的裁剪
- 按矩形区域裁剪
crop_rectangle1 (Image, ImagePart, 100, 100, 200, 200)
- 按图像的定义域裁减图像,图像的定义域未变,图像尺寸变小为定义域的最小外接矩形
crop_domain (ImageReduced, ImagePart)
- 按图像定义域裁剪图像,裁剪时对四边的裁剪位置进行偏移
crop_domain_rel (Image, ImagePart, 100, 100, 100, 100)
图像变形
- 缩放
- 缩放到固定大小
zoom_image_size (Image, ImageZoom, 512, 512, 'constant')
- 按比例缩放
zoom_image_factor (Image, ImageZoom, 0.5, 0.5, 'constant')
-
旋转
rotate_image (Image, ImageRotate, 90, 'constant')
-
镜像
mirror_image (Image, ImageMirror, 'row')
-
仿射变换实现平移旋转缩放
dev_get_window (WindowHandle)
read_image (Image, 'mvtec_logo')
* 创建变换矩阵
hom_mat2d_identity(HomMat2DIdentity)
* 平移
hom_mat2d_translate (HomMat2DIdentity, 20, 20, HomMat2D)
* 旋转
* hom_mat2d_rotate (HomMat2D, rad(5), 100, 200, HomMat2D)
* 缩放
* hom_mat2d_scale (HomMat2D, 0.5, 0.5, 100, 200, HomMat2D)
* 镜像
* hom_mat2d_reflect (HomMat2D, 0, 300, 500, 300, HomMat2D)
* 斜切
* hom_mat2d_slant (HomMat2D, -0.78, 'x', 100, 100, HomMat2D)
* 应用
affine_trans_image (Image, ImageAffineTrans, HomMat2D, 'constant', 'false')
- 刚体仿射变换 实现 平移旋转
dev_get_window (WindowHandle)
read_image (Image, 'mvtec_logo')
threshold (Image, Regions, 0, 255)
area_center (Regions, Area, Row, Column)
orientation_region (Regions, Phi)
*创建变换矩阵
vector_angle_to_rigid (Row, Column, 0, Row-50, Column, rad(15), HomMat2D)
*应用
affine_trans_image (Image, ImageAffineTrans, HomMat2D, 'constant', 'false')