将图片划分为网格区域并识别坐标点所属网格
创作时间:
作者:
@小白创作中心
将图片划分为网格区域并识别坐标点所属网格
引用
CSDN
1.
https://blog.csdn.net/weixin_44043810/article/details/146321072
将图片划分为几个网格区域,根据所给点位坐标,如何识别出所给的坐标在当前图片中所在的网格区域(适用于简单图形)。
安装依赖
需要安装OpenCV库,可以使用以下命令进行安装:
pip install opencv-python
Python代码实现
import cv2
import numpy as np
def divide_image_into_grid(image_path, rows, cols):
# 读取图片
image = cv2.imread(image_path)
if image is None:
print("无法读取图片,请检查图片路径。")
return
height, width, _ = image.shape
print(f"图片宽度: {width}, 图片高度: {height}")
# 计算每个网格的宽度和高度
grid_width = width // cols
grid_height = height // rows
print(f"网格宽度: {grid_width}, 网格高度: {grid_height}")
# 绘制网格线
for i in range(1, rows):
cv2.line(image, (0, i * grid_height), (width, i * grid_height), (0, 255, 0), 2)
for j in range(1, cols):
cv2.line(image, (j * grid_width, 0), (j * grid_width, height), (0, 255, 0), 2)
# 显示图片
cv2.imshow('Image with Grid', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
return grid_width, grid_height
def get_grid_region(x, y, grid_width, grid_height, rows, cols):
"""
该函数用于识别特定坐标 (x, y) 所在的网格区域
:param x: 坐标的 x 值
:param y: 坐标的 y 值
:param grid_width: 每个网格的宽度
:param grid_height: 每个网格的高度
:param rows: 网格的行数
:param cols: 网格的列数
:return: 坐标所在网格的行和列元组 (row, col),若坐标无效则返回 None
"""
if x < 0 or y < 0 or x >= grid_width * cols or y >= grid_height * rows:
print("输入的坐标超出图片范围,无效。")
return None
col = min(x // grid_width, cols - 1)
row = min(y // grid_height, rows - 1)
print(f"计算得到的列索引: {col}, 行索引: {row}")
return (row, col)
# 示例调用
image_path = 'soccer.jpeg' # 请替换为你的图片路径
rows = 3
cols = 4
grid_width, grid_height = divide_image_into_grid(image_path, rows, cols)
# 假设要识别的坐标
x = 800
y = 756
print(f"要识别的坐标: ({x}, {y})")
grid = get_grid_region(x, y, grid_width, grid_height, rows, cols)
if grid:
print(f"坐标 ({x}, {y}) 所在的网格区域:行 {grid[0]}, 列 {grid[1]}")
划分效果
热门推荐
BIM技术在工程项目管理中的应用:从协同到成本控制的全方位解析
百家姓 | 马姓
精神健康评估:了解内心世界,开启健康新生活
315调查|起底直播间“名家字画”骗局:冒充官方活动,用唐伯虎等名家赝品骗百余人
红薯:营养价值、健康益处及潜在风险
婚检在哪里做?免费与自费婚检全攻略
重庆楼市大洗牌,重庆楼市待售二手房从28.2万套增加到29.1万套
2025罕见病行业趋势报告:诊疗和保障仍存困难,多元力量参与
这3种情况是主力在洗盘,别轻易下车,最后一跌之后或直线拉升!
中了大奖之后,如何理智规划和享受财富
智能家居物联网解决方案:科学应用,提升生活幸福感
系统功能架构图和数据库建模工具推荐
调味料也是“药”!用对了美味又保健,可以多吃一点!
2025年3月建筑材料工业景气指数(MPI)——3月份建筑材料工业运行平稳恢复
小米主板维修的全面指南(了解小米主板故障排查与维修技巧,让你的手机焕然一新)
山海经异兽录之神兽白泽
95后,我在非洲挖锂矿实现财富自由
《吹响吧!上低音号3》:如何用两集毁掉攒了九年的口碑
什么是计算摄影?九大核心技术详解
最佳设计实践分享:从往届获奖作品中汲取设计灵感!
古人对器物珍惜和再利用的智慧
KET考试难度升级?剑桥官方最新KET真题对比,从阅读、写作及词汇入手分析变化!
姓氏文化的意义:凝聚进取智慧传承中国文化精粹
遥控汽车充电技巧有哪些?这些技巧如何提升充电效率?
说话老是怼人是不是有心理疾病
石药首仿获批,冲击千亿抗乳腺癌市场
考研党必看:各阶段备考复习策略,助你一战成硕!
当中医智慧遇上科学减重——埋线减肥为何成“体重管理年”新宠?
可持续家具:推动环保与设计革新的未来趋势
科普丨如何最大限度提高柴油发电机组的燃油效率?