python图片裁剪及坐标转换
如何裁剪图片?
使用opencv的numpy切片操作或numpy的hsplit函数可以裁剪图片。以下为示例代码:
import cv2 import numpy as np img = cv2.imread('image.jpg') sub_img = img[y1:y2, x1:x2].copy() # 用切片操作裁剪图片
如何转换裁剪后图片的坐标?
立即学习“Python免费学习笔记(深入)”;
当裁剪后的图片被转换到原图时,其坐标需要进行转换。对于在原图左上角的裁剪,其坐标保持不变。对于在原图内部的裁剪,其坐标需要加上裁剪区域在原图中的位置:
原图坐标 = 裁剪后图片坐标 + (裁剪区域左上角原图坐标)
例如,原图大小为1000x1000,裁剪了一块大小为200x200的图片,裁剪区域在原图中的左上角坐标为(200, 300)。那么,裁剪后图片中左上角的坐标(10, 20)在原图中的坐标为:
原图坐标 = (10, 20) + (200, 300) = (210, 320)
更深入的解决方法:
使用上述的切片操作或hsplit函数裁剪图片。使用numpy广播计算裁剪后图片的坐标转换。
使用pillow的crop方法裁剪图片。使用split_box函数计算裁剪后图片的坐标转换。
这些方法提供了解决python图片裁剪和坐标转换的有效途径,可以根据特定需要选择合适的实现方案。
以上就是Python图片裁剪后如何转换坐标?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号