鱼C论坛

 找回密码
 立即注册
查看: 2930|回复: 8

[已解决]关于pylab中的contour函数的问题

[复制链接]
回帖奖励 6 鱼币 回复本帖可获得 3 鱼币奖励! 每人限 1 次
发表于 2019-9-18 17:20:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 御笔剑客 于 2019-9-18 21:22 编辑
  1. from PIL import Image
  2. from pylab import *

  3. im = array(Image.open('F:\\1.jpg').convert('L'))

  4. figure()

  5. gray()

  6. contour(im, origin='image')
  7. # axis('equal')
  8. # axis('off')

  9. figure()
  10. hist(im.flatten(), 128)
  11. show()
复制代码


这个函数是参数是什么意义呢?为什么能获得图像的轮廓,求dalao指点一下
最佳答案
2020-11-17 11:57:52
contour(Z) :绘制矩阵Z的等高线
contour(Z,n) :设置等高线的根数(画出来有n根等高线)
contour(Z,v) :v是元素随下标单调递增的一维向量,用来设置等高线的值。即在固定的几个值的位置设置等高线。

contour(X,Y,Z), contour(X,Y,Z,n) 和 contour(X,Y,Z,v),同时设置坐标值。
出自https://blog.csdn.net/kai165416/article/details/73743201
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-9-18 23:27:31 | 显示全部楼层

回帖奖励 +3 鱼币

本帖最后由 傻纸 于 2019-9-18 23:29 编辑

不懂,但是有pylab,据说是包含了matplotlib.pyplot和numpy,所以我试着把这样写,程序也可以运行
  1. from PIL import Image
  2. from numpy import *
  3. from matplotlib.pyplot import *

  4. im = array(Image.open('F:\\cat.jpg').convert('L'))

  5. print(im)

  6. contour(im, origin='image')

  7. show()
复制代码


这个它先把那个图转化成8位黑白图模式L
然后im就成一个数组(矩阵)

然后contour(Z)这个用来创建一个包含矩阵 Z 的等值线的等高线图,其中 Z 包含 x-y 平面上的高度值。参考https://ww2.mathworks.cn/help/matlab/ref/contour.html ,里面有些例子,不知道对你有没有帮助,反正我是没有看懂。。
把矩阵转化成一个等高线图,这个貌似是计算机图形学里的,我这会也不懂,所以没办法了。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-9-19 08:06:37 | 显示全部楼层
傻纸 发表于 2019-9-18 23:27
不懂,但是有pylab,据说是包含了matplotlib.pyplot和numpy,所以我试着把这样写,程序也可以运行

对,我就是不太明白为啥等高线图会是轮廓图了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-6 18:00:50 | 显示全部楼层

回帖奖励 +3 鱼币

还没学到这儿,先mark下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-6 20:05:29 | 显示全部楼层

回帖奖励 +3 鱼币

我还没学过PIL, 在这里我先mark一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-22 13:41:40 | 显示全部楼层

回帖奖励 +3 鱼币

mark是什么意思?痕迹?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-22 15:31:15 | 显示全部楼层
还没学到这儿,先mark下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 10:14:13 | 显示全部楼层
contour函数  感觉距离很远
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-17 11:57:52 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +3 鱼币

contour(Z) :绘制矩阵Z的等高线
contour(Z,n) :设置等高线的根数(画出来有n根等高线)
contour(Z,v) :v是元素随下标单调递增的一维向量,用来设置等高线的值。即在固定的几个值的位置设置等高线。

contour(X,Y,Z), contour(X,Y,Z,n) 和 contour(X,Y,Z,v),同时设置坐标值。
出自https://blog.csdn.net/kai165416/article/details/73743201
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-29 19:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表