Python图片裁剪后如何转换坐标?
欢迎各位小伙伴来到,相聚于此都是缘哈哈哈!今天我给大家带来,这篇文章主要讲到等等知识,如果你对文章相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!
python图片裁剪及坐标转换
如何裁剪图片?
使用opencv的numpy切片操作或numpy的hsplit函数可以裁剪图片。以下为示例代码:
import cv2 import numpy as np img = cv2.imread('image.jpg') sub_img = img[y1:y2, x1:x2].copy() # 用切片操作裁剪图片
如何转换裁剪后图片的坐标?
当裁剪后的图片被转换到原图时,其坐标需要进行转换。对于在原图左上角的裁剪,其坐标保持不变。对于在原图内部的裁剪,其坐标需要加上裁剪区域在原图中的位置:
原图坐标 = 裁剪后图片坐标 + (裁剪区域左上角原图坐标)
例如,原图大小为1000×1000,裁剪了一块大小为200×200的图片,裁剪区域在原图中的左上角坐标为(200, 300)。那么,裁剪后图片中左上角的坐标(10, 20)在原图中的坐标为:
原图坐标 = (10, 20) + (200, 300) = (210, 320)
更深入的解决方法:
- opencv实现:
使用上述的切片操作或hsplit函数裁剪图片。使用numpy广播计算裁剪后图片的坐标转换。
- pillow实现:
使用pillow的crop方法裁剪图片。使用split_box函数计算裁剪后图片的坐标转换。
这些方法提供了解决python图片裁剪和坐标转换的有效途径,可以根据特定需要选择合适的实现方案。
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注公众号,一起学习编程~