御笔剑客 发表于 2019-9-18 17:20:31

关于pylab中的contour函数的问题

本帖最后由 御笔剑客 于 2019-9-18 21:22 编辑

from PIL import Image
from pylab import *

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

figure()

gray()

contour(im, origin='image')
# axis('equal')
# axis('off')

figure()
hist(im.flatten(), 128)
show()

这个函数是参数是什么意义呢?为什么能获得图像的轮廓,求dalao指点一下

傻纸 发表于 2019-9-18 23:27:31

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

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

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

print(im)

contour(im, origin='image')

show()


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

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

御笔剑客 发表于 2019-9-19 08:06:37

傻纸 发表于 2019-9-18 23:27
不懂,但是有pylab,据说是包含了matplotlib.pyplot和numpy,所以我试着把这样写,程序也可以运行




对,我就是不太明白为啥等高线图会是轮廓图了{:10_266:}

Jery_wang09 发表于 2019-11-6 18:00:50

还没学到这儿,先mark下

lixiangyv 发表于 2019-11-6 20:05:29

我还没学过PIL, 在这里我先mark一下

andy大宝 发表于 2020-2-22 13:41:40

mark是什么意思?痕迹?

winsome8538 发表于 2020-2-22 15:31:15

还没学到这儿,先mark下

winsome8538 发表于 2020-2-23 10:14:13

contour函数感觉距离很远

心驰神往 发表于 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
页: [1]
查看完整版本: 关于pylab中的contour函数的问题