我有一张图片,里面有 6 张图片。我的任务是从这张图片中裁剪出 6 张图片。
目前我遵循这个程序..
1. 保存原始图像的副本
2. 使用任何工具(Picasa)裁剪图像以获得第一张图像
3. 将裁剪后的图像另存为图像 1
4. 打开原始图像以裁剪图像 2
5.重复此操作 6 次
有没有一种方法可以一次性提取出所有 6 张图像?多作物?
我有一张图片,里面有 6 张图片。我的任务是从这张图片中裁剪出 6 张图片。
目前我遵循这个程序..
1. 保存原始图像的副本
2. 使用任何工具(Picasa)裁剪图像以获得第一张图像
3. 将裁剪后的图像另存为图像 1
4. 打开原始图像以裁剪图像 2
5.重复此操作 6 次
有没有一种方法可以一次性提取出所有 6 张图像?多作物?
是的,这是可能的。您需要熟悉 ROI (感兴趣区域)概念。
这个C示例显示了如何在图像中设置 ROI。基本上,它在相机的帧中设置 ROI,从中创建新图像,在图像中进行一些处理(反转颜色),然后将图像复制回原始帧以进行显示。
这个Python示例还展示了如何使用 ROI。
从 OP 的描述来看,听起来 OP 只是想以自动化的方式将图像裁剪成 6 块。
Google 搜索“irfanview 批量裁剪”或“ImageMagick 批量裁剪”
如果需要更复杂的裁剪逻辑/过程,则 OP 选择的语言的 gfx 库应该具有他们可以编码的裁剪功能。
对于这项任务,OpenCV 将是多余的。
如果 OP 坚持使用 OpenCV,则设置 ROI
Mat image = imread("src_image_path"); 矩形 roi = 矩形 (x, y, w, h); Mat image_roi = image(roi);
imwrite("dest_image_path", image_roi);