记 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 代码指定参数名之后的结果:

相关推荐
逆向编程5 小时前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
威哥爱编程5 小时前
Python 智能体开发实战 07:让它查课表它张口就编?给 Agent 接上真正能动手的工具
python·agent
Wang's Blog5 小时前
Java 项目实战:交友项目 - 即时通信总结:全链路复盘、可复用清单与自检
java·python·交友
2601_962885725 小时前
按主板/科创/创业/北交分板扫描选股
python
威哥爱编程5 小时前
Python 智能体开发实战 08:上线第一天就挂?给 Agent 装上重试、超时和降级三条保险丝
python·agent
Dmz丶5 小时前
前端转 AI 100 天 Day 35:结构化输出——让 LLM 稳定返回 JSON
python
努力努力再努力wz5 小时前
【Lua入门系列】从 Table 到元表与元方法:一文理解 Lua 的行为扩展机制
开发语言·junit·lua
在世修行5 小时前
智学文枢:数据管理服务
python·审计日志·pyside·数据清理·孤儿文件
qq_406981035 小时前
什么是顶层 const什么是底层const
开发语言·c++
日日大王学编程5 小时前
DeepSeekHarness开源Agent底座详解
python·开源·deep learning