halcon实现图片裁切,用roi画区域将区域内的目标裁切下来图片尺寸保持不变加代码

拖一张图片到halcon软件中,或者直接读取

read_image (Sd100001, 'E:/SD/Frist/7/images/SD_100001.jpg')

点击

以上点击你要画的区域形状

画好区域后,鼠标右击一下你画的roi区域如上

然后点击上方区域 代码生成

然后再利用代码将你画出的区域保存下来

reduce_domain (Sd100001, ROI_0, ImageReduced1)
write_image (ImageReduced1, 'jpg', 0, 'E:/SD/Frist/8/images')

read_image (Sd100001, 'E:/SD/Frist/7/images/SD_100001.jpg')
gen_rectangle1 (ROI_0, 1120.88, 635.971, 2784.68, 3157.06)

reduce_domain (Sd100001, ROI_0, ImageReduced1)
write_image (ImageReduced1, 'jpg', 0, 'E:/SD/Frist/8/images')

原图

效果图

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于Halcon的批量裁切图片代码示例,可以供您参考: ```cpp #include "HalconCpp.h" #include "HDevThread.h" #include <iostream> #include <vector> #include <string> using namespace HalconCpp; using namespace std; void batch_crop_images(vector<string>& filenames, int crop_x, int crop_y, int crop_width, int crop_height, string output_folder) { // 设置输出路径 set_system("output_dir", output_folder.c_str()); // 循环处理每张图片 for (auto& filename : filenames) { // 读取图片 HObject image; read_image(&image, filename.c_str()); // 裁切图片 HObject cropped_image; crop_rectangle1(image, &cropped_image, crop_y, crop_x, crop_height, crop_width); // 保存图片 string output_file = output_folder + "/" + filename.substr(filename.find_last_of("/\\") + 1); write_image(cropped_image, "tiff", 0, output_file.c_str()); } } int main(int argc, char* argv[]) { // 定义裁切参数 int crop_x = 100; int crop_y = 100; int crop_width = 500; int crop_height = 500; // 定义输入输出路径 string input_folder = "input_folder"; string output_folder = "output_folder"; // 获取所有待处理图片的文件名 vector<string> filenames; find_files(input_folder.c_str(), "", &filenames); // 执行批量裁切图片并输出到指定目录 batch_crop_images(filenames, crop_x, crop_y, crop_width, crop_height, output_folder); return 0; } ``` 该代码中,`batch_crop_images` 函数为批量裁切图片的函数,具体实现如下: 1. 设置输出路径。 2. 循环处理每张图片。 3. 读取图片。 4. 裁切图片。 5. 保存图片。 其中,`read_image` 函数用于读取图片,`crop_rectangle1` 函数用于裁切图片,`write_image` 函数用于保存图片。 在 `main` 函数中,我们定义了裁切参数、输入输出路径,并获取了待处理的所有图片文件名。随后,我们调用 `batch_crop_images` 函数进行批量裁切并输出到指定目录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值