SimpleCV中shear()函数和warp()函数的区别
2016-08-21 21:12
225 查看
shear()函数和warp()函数都是改变图像形状的工具,本来我并不知道它们大的区别在哪里(小白成长中......),书上并没有写清楚,只是简单的解释了一下,说两者类似
。决定好好做人的我花了点时间研究了下。
我查看了下API文档,里面是这样写的,如下:
shear()函数:
Given a set of new corner points inclockwise order, return a shear-ed image that transforms the image contents. The returned image is the same
dimensions.
warp()函数:
This method performs and arbitraryperspective transform.Given a new set of corner points in clockwise order frin top left,return
an Image with the images contents
warped to the new coordinates.
The returned imagewill be the same size as the original image.
有的朋友可能不是很懂英文,不要慌,我都不慌......看到高亮的两句英文了吗?
黄色底的英文意思是“返回的图像有着相同的尺寸”,绿底的英文意思是“返回的图像将会变得和原图像一样的大小”。似乎没啥区别,我当时也这么觉得,不过我又用两段代码测试了下。
使用了shear()函数的代码:
使用了warp()函数的代码:
不错,两段代码的不同只是把shear()改成了warp()而已,它们的用法一样一样的。但效果并不一样。
使用了shear()函数的输出:
使用了warp()函数的输出:
大家看图就应该明白了吧,嗯,我们还需要一些文字来描述下。
我查了下资料,发现和Photoshop里的工具一样,都是图像处理嘛
,shear()函数就是斜切,而warp()函数就是扭曲。以下来自百度经验点击打开链接:
斜切:斜切工具是指对选区的某个边界进行拉伸和压缩,但作用的方向只能沿着该边界所在的直线上。比方说,将正方形变成平行四边形就可以使用斜切工具,对正方形的某个边进行拉伸和压缩。
扭曲:顾名思义,扭曲正如词语表面的意思,就是将图片进行扭曲变形,使得图片按一定形状存在,通俗比喻可以讲在现实中将一张纸质照片扭曲。
至此大家应该明白shear()函数和warp()函数具体有什么区别了吧
~
。决定好好做人的我花了点时间研究了下。
我查看了下API文档,里面是这样写的,如下:
shear()函数:
Given a set of new corner points inclockwise order, return a shear-ed image that transforms the image contents. The returned image is the same
dimensions.
warp()函数:
This method performs and arbitraryperspective transform.Given a new set of corner points in clockwise order frin top left,return
an Image with the images contents
warped to the new coordinates.
The returned imagewill be the same size as the original image.
有的朋友可能不是很懂英文,不要慌,我都不慌......看到高亮的两句英文了吗?
黄色底的英文意思是“返回的图像有着相同的尺寸”,绿底的英文意思是“返回的图像将会变得和原图像一样的大小”。似乎没啥区别,我当时也这么觉得,不过我又用两段代码测试了下。
使用了shear()函数的代码:
from SimpleCV import Image img = Image('c:\Users\Administrator\Desktop\erweima.jpg') corners = [(50, 50), (300, 0), (250, 300), (50, 200)] straight = img.shear(corners) straight.show()
使用了warp()函数的代码:
from SimpleCV import Image img = Image('c:\Users\Administrator\Desktop\erweima.jpg') corners = [(50, 50), (300, 0), (250, 300), (50, 200)] straight = img.warp(corners) straight.show()
不错,两段代码的不同只是把shear()改成了warp()而已,它们的用法一样一样的。但效果并不一样。
使用了shear()函数的输出:
使用了warp()函数的输出:
大家看图就应该明白了吧,嗯,我们还需要一些文字来描述下。
我查了下资料,发现和Photoshop里的工具一样,都是图像处理嘛
,shear()函数就是斜切,而warp()函数就是扭曲。以下来自百度经验点击打开链接:
斜切:斜切工具是指对选区的某个边界进行拉伸和压缩,但作用的方向只能沿着该边界所在的直线上。比方说,将正方形变成平行四边形就可以使用斜切工具,对正方形的某个边进行拉伸和压缩。
扭曲:顾名思义,扭曲正如词语表面的意思,就是将图片进行扭曲变形,使得图片按一定形状存在,通俗比喻可以讲在现实中将一张纸质照片扭曲。
至此大家应该明白shear()函数和warp()函数具体有什么区别了吧
~
相关文章推荐
- SimpleCV中shear()函数和warp()函数的区别
- Opencv 中cv开头的函数和没有cv的区别,例如cvWaitkey()和waitKey()的区别
- Opencv 中cv开头的函数和没有cv的区别,例如cvWaitkey()和waitKey()的区别
- 《Effective C#》Item 9:区别和认识四个判等函数
- 谈谈VC++中两种函数调用方式的区别
- 虚函数和抽象函数有什么区别
- Oracle 和 sql server 2000 函数substring的区别
- 内联函数与普通函数的区别是什么(转)
- 关于c#中的消息处理函数和vc中的消息处理函数区别
- 静态函数里定义的变量,不为所有对象共享,类的静态变量和类外全局变量区别,静态函数和普通函数区别
- 《Effective C#》Item 9:区别和认识四个判等函数
- 菜鸟入门之浅谈函数重载和多态的区别
- XSLT document() 函数在 IE 与 Firefox 中的区别
- 存储过程与函数的区别
- MFC中消息循环处理的几个函数之间的区别
- C++点滴:向函数中传递指针和传递指针的引用的区别:
- 函数指针和函数引用的区别
- 指针函数与函数指针的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- Oracle的函数vsize和length的区别讨论