记 python opencv 没有指定参数名导致参数不生效的问题


Date: 2024-02-19

tags:

  • OpenCV
  • remap
  • boardMode

省流:在使用opencv remap 函数时,需要明确指定参数名才能正确应用参数。

在验证OpenCV remap 函数时,有一个参数的含义是复制边缘像素(BORDER_REPLICATE),也就是在无效像素区域重复复制有效像素的边缘,看起来有点像拉丝一样的效果。恰巧有一份 C++ 的代码用的就是这个参数,我在将它写成python 版本时却发现得不到一样的结果。

C++ 结果:

python 版本结果:

可以看到左上边界是黑边,没有填充颜色。

关键代码:

python 复制代码
output_image = cv2.remap(input_image, map_x, map_y, cv2.INTER_CUBIC, cv2.BORDER_REPLICATE)  

起初我以为是 map 表里面元素的问题,在几乎将两个 map 表调成一样之后发现效果还是没变。直到我看到了另一份代码可以正确生成复制像素的效果我发现只要指定参数名就可以了!

python 复制代码
output_image = cv2.remap(input_image, map_x, map_y, interpolation=cv2.INTER_CUBIC, borderMode=cv2.BORDER_REPLICATE)

但是不指定参数名程序运行不会报错,我也就一直没发现问题。

python 代码指定参数名之后的结果:

相关推荐
溪语流沙7 分钟前
【Web全栈进阶】文件上传与图片展示:早报站的第一张图片
前端·vue.js·python·fastapi
川石课堂软件测试9 分钟前
JMeter异步接口测试实战
数据库·python·jmeter·mysql·kubernetes·测试用例·prometheus
dtq042411 分钟前
C++3 - 分支语句if和string变量
开发语言·c++·学习
jimy112 分钟前
c++类成员访问只看静态类型
开发语言·c++
aichitang202413 分钟前
Meta Muse Spark Open:816B 巨型开放权重多模态 Agent 模型架构、部署实战与社区首测全解
大数据·人工智能·python·算法·ai·架构·spark
有同事要进步15 分钟前
leecode每日一题 第66题:加1
python
小马不起床24 分钟前
Django 后端实战指南_16:动作分类、动作库、动作收藏查询接口
数据库·python·django
ycydynq26 分钟前
django搜索功能
数据库·python·django
1560820721927 分钟前
银河麒麟 Qt 可执行文件打包说明
开发语言·驱动开发·qt
Zella折耳根27 分钟前
字符田字格绘制
python