基于Python的Opencv入门教程(P4.让我们旋转我们的图片)
书接上文(doge)

旋转图像
让我们旋转图像,以获得下一个示例:
围绕中心点旋转图像需要首先计算图像的中心(x,y)-坐标(第50行)。
注意:我们使用//执行整数数学(即,没有浮点值)。
从这里我们计算旋转矩阵M(第43行)。45表示我们将图像顺时针旋转45度。回想一下中学/高中几何课上关于单位圆的内容,你可以提醒自己,正角度是逆时针方向,负角度是顺时针方向。
从那里,我们使用第44行的矩阵扭曲图像(有效地旋转它)。
旋转后的图像显示在第44行的屏幕上,如下图所示:

现在,让我们使用imutils在一行代码中执行相同的操作:
由于我不必像调整大小那样旋转图像(相对而言),我发现旋转过程更难记住。因此,我在imutils中创建了一个函数来为我们处理它。在一行代码中,我可以将图像顺时针旋转45度(第49行),如下图所示:

此时,你必须思考:
“究竟为什么要剪掉这张照片?”
答案是因为OpenCV不在乎旋转后我们的图像是否被剪掉或看不见。我觉得这很麻烦,所以这里是我的imutils版本,它将保持整个图像在视图中。我称之为旋转约束:
这里因为图片大小过于大,所以将图片进行了缩小。(指第54行的代码)
这个算法的幕后有很多事情。如果您对第54行的方法的工作方式感兴趣,请务必查看以下博网址。
https://www.pyimagesearch.com/2017/01/02/rotate-images-correctly-with-opencv-and-python/?_ga=2.102176713.919642978.1642226886-1706104520.1639213599
(次文章还未翻译)
结果如下图所示:

https://pyimagesearch.com/2017/01/02/rotate-images-correctly-with-opencv-and-python/?_ga=2.262150340.919642978.1642226886-1706104520.1639213599
完美!整个图像位于框架中,并正确地顺时针旋转45度了!
虚化一张图片
在许多图像处理管道中,我们必须模糊图像以减少杂讯,使我们的算法更容易检测和理解图像的实际内容,而不仅仅是会“混淆”我们的算法的讯息。在OpenCV中,模糊图像非常容易,有多种方法可以实现。

我经常使用Gaussian模糊函数(高斯模糊函数):
在第70行,我们使用21 x 21内核执行高斯模糊,其结果如图上所示。
更大的核会产生更模糊的图像。较小的内核将创建较少模糊的图像。要了解更多关于内核的信息,请参阅本文或PyImageSearch专家课程。
另外,“内核”的数值一定要是基数呦~
那么,今天就写到这里了,拜拜。
话说下一次就可以再图上画画了呢!(十分小声)