二值化图像,知道2个断点位置,line函数只能画直线,有什么办法可以用适当的曲线将这2个点连接,有没有知道的,非常感谢
在Opencv中将2个点用曲线连接
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 【以下回答由 GPT 生成】
通过使用OpenCV的"cv2.polylines()"函数可以将给定的两个点连接起来,并使用曲线而不是直线。以下是一个示例代码:
import numpy as np import cv2 # 创建一个空白图像 image = np.zeros((500, 500), dtype=np.uint8) # 设置两个点的坐标 point1 = (100, 100) point2 = (400, 400) # 创建一个空白图像 image = np.zeros((500, 500), dtype=np.uint8) # 设置两个点的坐标 point1 = (100, 100) point2 = (400, 400) # 设置曲线控制点 control_point = (int((point1[0] + point2[0]) / 2), int((point1[1] + point2[1]) / 2) - 200) # 定义曲线类型,可以是二次曲线、三次曲线等 curve_type = cv2.CV_64F # 计算曲线点坐标 curve_points = [] for t in np.arange(0, 1.01, 0.01): x = (1 - t) ** 2 * point1[0] + 2 * (1 - t) * t * control_point[0] + t ** 2 * point2[0] y = (1 - t) ** 2 * point1[1] + 2 * (1 - t) * t * control_point[1] + t ** 2 * point2[1] curve_points.append((int(x), int(y))) # 绘制曲线 cv2.polylines(image, [np.array(curve_points)], False, 255, thickness=2) # 显示图像 cv2.imshow("Image", image) cv2.waitKey(0) cv2.destroyAllWindows()
以上代码中,我们首先创建了一个空白图像。然后我们定义了两个点的坐标,以及一个控制点的坐标。接下来,我们使用np.arange()函数计算出曲线上的点的坐标,并将其存储在一个列表中。最后,我们使用cv2.polylines()函数绘制出曲线。
【相关推荐】
- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/358299
- 这篇博客也不错, 你可以看下Opencv 摄像头二次开发,横竖屏切换,前后摄像头切换,铺满全屏问题,一次解决(附源码)
- 您还可以看一下 AI100讲师老师的计算机视觉实战:如何使用OpenCV构建视觉应用课程中的 计算机视觉实战:如何使用OpenCV快速构建视觉应用小节, 巩固相关知识点
- 除此之外, 这篇博客: 【OpenCV】图像的特效变换扭曲变换、球形变换、波动变换中的 什么?你说解释在哪里? 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
- ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
- ¥60 pb数据库修改与连接
- ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
- ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
- ¥20 神经网络Sequential name=sequential, built=False
- ¥16 Qphython 用xlrd读取excel报错
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)