利用Python和OpenCV将图像灰度图转为3D图并显示
利用Python和OpenCV将图像灰度图转为3D图并显示
写文章的时候为了比较不同滤波器对灰度图像的滤波效果,需要将灰度图进行3D可视化,在网上搜索了很久,只搜到了matlab版本的,没有见到Python相关资源,然后就写了一下,和大家分享一下
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3Dif __name__ == "__main__":img_path = r"./2.jpg"img_gray = cv2.imread(img_path, 0)# img_gray = cv2.resize(img_bgr, (224, 224))Y = np.arange(0, np.shape(img_gray)[0], 1)X = np.arange(0, np.shape(img_gray)[1], 1)X, Y = np.meshgrid(X, Y)fig = plt.figure()ax = plt.axes(projection="3d")ax.plot_surface(X, Y, img_gray, cmap='gist_rainbow') # cmap='hot'plt.show()
from mpl_toolkits.mplot3d import Axes3D
一定要加上,不加的话会报错
Traceback (most recent call last):File "D:\Anaconda\lib\site-packages\matplotlib\projections\__init__.py", line 58, in get_projection_classreturn projection_registry.get_projection_class(projection)File "D:\Anaconda\lib\site-packages\matplotlib\projections\__init__.py", line 25, in get_projection_classreturn self._all_projection_types[name]
KeyError: '3d'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "F:/Carrot_crack_Detection_segmentation/ceshi.py", line 17, in <module>ax = plt.axes(projection="3d")File "D:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 877, in axesreturn subplot(111, **kwargs)File "D:\Anaconda\lib\site-packages\matplotlib\pyplot.py", line 1076, in subplota = fig.add_subplot(*args, **kwargs)File "D:\Anaconda\lib\site-packages\matplotlib\figure.py", line 1396, in add_subplotself._process_projection_requirements(*args, **kwargs)File "D:\Anaconda\lib\site-packages\matplotlib\figure.py", line 1120, in _process_projection_requirementsprojection_class = projections.get_projection_class(projection)File "D:\Anaconda\lib\site-packages\matplotlib\projections\__init__.py", line 60, in get_projection_classraise ValueError("Unknown projection %r" % projection)
ValueError: Unknown projection '3d'Process finished with exit code 1
运行结果
cmap=‘hot’模式下的效果
cmap='gist_rainbow’下的显示效果
利用Python和OpenCV将图像灰度图转为3D图并显示相关推荐
- 摄影爱好者玩编程:利用Python和OpenCV打造专业级长时曝光摄影图
在本文中,我们将学习如何使用 OpenCV 和图像处理技术来模拟长时曝光图像.为了模拟长时曝光,我们采用了对一组图像取平均值的帧平均法.机器之心对该教程进行了简要的介绍. 长时曝光是摄影师最喜欢的摄影 ...
- [Python与图像处理]利用Python与Opencv实现图像长曝光
如何使用OpenCV和Python实现摄影中常见的长曝光效果 该任务可简单实现摄影中的长曝光效果. 什么是长曝光? 长曝光是摄影中的一种技术,当采用这项技术之后,流水.云朵可以像丝绸一般柔顺. ...
- 使用Python,OpenCV查找图像中的最亮点
Python,OpenCV找出图像中的最亮点 1. 原理 2. 优化 3. 效果图 4. 源码 参考 这篇博客将向您展示如何使用Python和OpenCV查找图像中的最亮点,以及应用单行预处理代码-- ...
- 使用Python,OpenCV进行图像哈希
使用Python,OpenCV进行图像哈希 1. 效果图 2. 原理 3. 源代码 参考 这篇博客将介绍图像哈希,感知哈希以及这些算法如何用于(快速)确定图像的视觉内容是否相同或相似.并实现了差异散列 ...
- Python基于OpenCV的图像去雾算法[完整源码&部署教程]
1.图片识别 2.视频展示 [项目分享]Python基于OpenCV的图像去雾算法[完整源码&部署教程]_哔哩哔哩_bilibili 3.算法原理 图像增强算法常见于对图像的亮度.对比度.饱和 ...
- Python,OpenCV骨架化图像并显示(skeletonize)
Python,OpenCV骨架化图像并显示(skeletonize) 1. 效果图 2. 源码 参考: 1. 效果图 自己画一张图,原图 VS 骨架效果图如下: opencv logo原图 VS 骨架 ...
- 使用Python和OpenCV检测图像中的条形码
使用Python和OpenCV检测图像中的条形码 1. 效果图 2. 算法的步骤 3. 源码 参考 这篇博客将介绍使用计算机视觉和图像处理技术进行条形码检测的必要步骤,并演示使用Python编程语言和 ...
- 使用Python和OpenCV在图像之间执行超快速的颜色转换
使用Python和OpenCV在图像之间执行超快速的颜色转换 1. 效果图 2. 原理 2.1 颜色转移算法 2.2 步骤 2.3 算法改进 3. 源码 参考 这篇博客将介绍如何使用Python和Op ...
- 使用Python,OpenCV计算图像直方图(cv2.calcHist)
使用Python,OpenCV计算图像直方图(cv2.calcHist 1. 效果图 2. 原理 2.1 什么是图像直方图? 2.2 计算直方图 2.3 可视化蒙版区域 3. 源码 参考 这篇博客将介 ...
- 使用Python、OpenCV进行图像接缝雕刻
使用Python.OpenCV进行图像接缝雕刻 1. 效果图 2. 原理 3. 安装--鉴于算法的专利原因,0.16以上版本均去掉了接缝雕刻算法: 4. 源码 参考 这篇博客将介绍基于图像内容感知调整 ...
最新文章
- C#快速生成数据数组
- windbg 脚本学习总结
- 2017年9月9日普级组 优美三角剖分
- 用python画皇冠_手把手教你用 Python 绘制酷炫的桑基图!
- 首次构建android studio gradle 下载缓慢的问题
- ESFramework 可复用的通信框架(序)
- 清华大学 现代软件工程 学生特别想学的领域
- Yarn 报错:error Couldn‘t publish package: “https://registry.yarnpkg.com/ 。。。Forbidden“
- API经济正在牵制技术的改革
- 2009年IT行业最重要的十大认证
- 三个流行MySQL分支的对比
- Could not find com.android.support:appcompat-v7:25.3.1.
- Python的学习笔记案例4--52周存钱挑战3.0
- 北京邮电大学计算机学院2020复试,预览北京邮电大学计算机学院2020研究生复试流程...
- 线性代数【13】基,基本向量、坐标系的构建和线性生成空间SPAN (向量线性相关)
- 2012电商倒闭潮——死亡的电商整理
- ROS快速入门第三讲——ROS的Subscriber订阅者
- 软件测试适合女孩子吗?从以下几点告诉你答案
- 店铺差评有什么影响原因有哪些方面,怎么避免差评,被差评了怎么解决
- 解决非苹果电脑使用iPad作为扩展屏的问题