数据集生成期间遇到的BUG及解决方案

news/2024/7/21 7:33:11 标签: 图像处理

同样的BUG以后可能也是会出现的,所以要拿小本本记下来 呜呜呜

python-dibr 跑不通 先不跑了 回头再看…

这份python版的dibr没跑通…主要它也没给 环境依赖 ,之后装 theano 的时候&之后 疯狂报错… (Keras我还不会哇)

或许我也不应该把它一起装到 workspace 环境下,看了stackoverflow之后,据说它一般是要和其他环境分开装的…

目前还不清楚是什么问题…

我只知道,我在我的vscode下 运行了 pip install theano 之后,每次运行程序终端里都会出现一堆奇奇怪怪看不懂的报错… 每次运行前 都要先通过 python -dibr.py 命令行先跑一次才可以直接 Ctrl+Alt+N 跑… 当时就裂开了… 还好还好 stackoverflow yyds:

就是这样的… Visual Studio and Anaconda Terminal Error
在这里插入图片描述

OK fine 我就知道肯定是装了什么给整坏了 我直接 pip uninstall theano 给修好了… 再见咯~


回到我自己转的matlab的dibr上来…

matlab-dibr

在这里插入图片描述

Python-OpenCV中的cv2.inpaint()函数

转过来之后,中间输出output效果仿佛看起来比matlab的差(还没有做 inpainting 前我就一直在犹豫是不是前面出了什么问题),和老师讨论完之后,决定先做完,but 调用 cv2.inpaint() 的过程中疯狂报错:
在这里插入图片描述
重点在于 生成的mask需要是 8-bit 1-channel image

看到这个回答
在这里插入图片描述
Invalid number of channels in input image: ‘VScn::contains(scn)’ where ‘scn’ is 1

于是我在前面给它加转为灰度图…但是还是不行…转灰度图 mask=cv2.cvtColor(mask,cv2.COLOR_RGB2GRAY) 也报错… ?

这个博客 对于 inpaint()中出现的问题算是很贴切了,虽然它的解决方案我没有完全明白,但大致觉得,确实是通道转换的这么一个问题,但是我并不知道为什么用 cv2.cvtColor() 会失败,只能说,我目前学得不够吧…
受以上Blog启发,顺便又回到matlab的源码,我看到其实它也有一个 写出再读入的过程 ,我就想,我能不能也这么做呢?

OpenCV:读取与写入图片 .jpg有损压缩 .png无损压缩

于是我也这么去做了一下,然后inpainting就成功了… 芜湖 但是我还不是很明白是为什么…
在这里插入图片描述
但是在这一步过程中,写出的图像是全黑的…但输出却是有值的…

关于mask图像全黑问题

因为你生成的数据是[0,1]的,所以你需要给它化回到 0~255内,才能够正常保存哦~

参考:使用cv2.imwrite保存的图像是全黑的

扩展阅读:

8-Bit vs 16-Bit Images
Channels & colors
OpenCV-Python 彩色图像转灰度图
python:图片的float类型和uint8类型


关于Deep Homo Estimation

源码:mazenmel/Deep-homography-estimation-Pytorch


http://www.niftyadmin.cn/n/735503.html

相关文章

Sorting 排序算法: Counting Sort 计数排序

Sorting 排序算法: Counting Sort 计数排序 文章目录Sorting 排序算法: Counting Sort 计数排序简介参考正文算法介绍输入核心思想算法流程算法复杂度分析结语简介 今天来介绍第一个线性时间排序算法。由于决策树模型(详见参考链接),比较排序算法的下界定在 Ω(nlo…

圣诞树背后的故事:生物学家花了40年时间,只为通过基因工程培育完美圣诞树...

绚丽的圣诞树背后,是满满的学问与难题。 今天,打开朋友圈,莫名其妙刷到一堆人艾特微信官方,表示要戴圣诞帽…… 更有甚者开始向微信要圣诞树…… 不过,想要圣诞树的【坏笑】,你来对了地方,接下…

Docker: Mac 上的 Ubuntu 环境搭建

Docker: Mac 上的 Ubuntu 环境搭建 文章目录Docker: Mac 上的 Ubuntu 环境搭建简介参考正文搭建目标安装 Docker for Mac使用阿里加速器获取镜像并启动容器确认安装并启动获取 Ubuntu20.04 镜像创建容器并进入伪终端为 Ubuntu 配置 ssh、vim 相关工具安装工具配置 ssh制作镜像以…

关于虚拟视点生成(Depth Based Image Rendering)问题

一篇简要介绍 原理 的中文Blog 虚拟视点绘制 该Blog作者Github上对应的一个项目:Multi_View_System 一些Blog 真实场景的虚拟视点合成(View Synthsis)详解 (含具体流程) 三维空间图像变换及DIBR视点合成 双目视觉立体匹配及虚拟视点合成&…

Cpp 进阶:Smart Pointer 智能指针

Cpp 进阶:Smart Pointer 智能指针 文章目录Cpp 进阶:Smart Pointer 智能指针简介参考正文核心目的功能需求C 实现智能指针(包装类)全局工厂包装函数测试用对象类测试代码结语简介 我们都知道 Java 和 C 一样,运行时会同时维护一个堆(Heap)空…

On the Two-View Geometry of Unsynchronized Cameras论文笔记

蓝色 紫色 红色 On the Two-View Geometry of Unsynchronized Cameras 不同步相机的双视图几何 Code: TwoViewUnsynch Abstract 研究背景: 许多计算机视觉应用,例如 人体建模 ,人物跟踪,姿势估计,机器人导航 和3D…

C 基础: Preprocessor 预处理器

C 基础: Preprocessor 预处理器 文章目录C 基础: Preprocessor 预处理器简介参考正文什么是预处理?主要功能文件引入宏定义条件编译应用确保唯一引入头文件特定运行模式全局变量声明结语简介 C 语言是一个古老却又屹立不摇的高级语言,它在计算机世界拥有…

Image Sequence Video 的互相转换

把图像序列转换成视频 import os import cv2 import numpy as np path"C:/Users/007/Desktop/TwoViewUnsynch-master/first" #pathos.path.join(dir,) filelistos.listdir(path)imgcv2.imread(path/2011_09_26_drive_0005_sync_0000000000.png) print(img.shape) …