飞桨领航团—学习笔记
常用基础函数:
len()#返回长度
string1.count('m')#显示自定字符在字符串当中的个数
string1.find('name')#返回从左第一个指定字符的索引,找不到返回-1
string1.index('hello')#返回从左第一个指定字符的索引,找不到报错
string1.split(' ')#按照指定的内容进行分割
string1.replace(' ','_')#从左到右替换指定的元素,可以指定替换的个数,默认全部替换
同时接触到正则表达式:
描述了一种字符串匹配的pattern,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等
示例:
var str = "123abc";
var patt1 = /^[0-9]+abc$/;
document.write(str.match(patt1));
Result:123abc
排序题:
作为最实用的快速排序法,通过查找资料,学习到了不同的实现方法:
《算法导论》中的快速排序程序:
在将其与我的代码对比后,发现其分片过程不同,只用了一层循环,并且一趟就完成分片,相比之下代码要简洁的多了
用栈实现非递归的快速排序程序:
栈里边保存的当然是需要迭代的函数参数,结束条件也是跟需要迭代的参数有关。对于快速排序来说,迭代的参数是数组的上边界low和下边界high,迭代结束的条件是low == high
图像处理:
在完成图像处理作业时,opencv 读取到的图片,再用 plt 展示出来,会产生色差,这个是因为,cv2.imread 读取图片的通道是 BGR,而 plt 展示出来的顺序是 RGB 所以,我们再 cv2.imread 读取图片的时候,只需要调整一下通道顺序即可;
OpenCV 加载的彩色图像是 BGR 模式,但 Matplotib 是 RGB模式。所以彩色图像如果已经被 OpenCV 读入,那它将不会被 Matplotib 正确显示,由于很多时候要用到matplotlib操作图像,因此就需要解决彩色图像由BGR模式转RGB模式的问题
以下列出网上给出的解决方案,三种方法都可以解决彩色图像由BGR模式转RGB模式的问题。
在图片裁剪学习中,Python实现图片裁剪的两种方式,一种利用了Pillow,还有一种利用了 OpenCV。
下图为利用Opencv的裁剪方法,这里,我们先用imread方法读取待裁剪的图片,然后查看它的shape,shape的输出是(1080, 1920, 3),输出的顺序的是高度、宽度、通道数。之后我们利用数组切片的方式获取需要裁剪的图片范围。这里需要注意的是切片给出的坐标为需要裁剪的图片在原图片上的坐标,顺序为[y0:y1, x0:x1],其中原图的左上角是坐标原点。最后我们用cv2.imwrite()方法将裁剪得到的图片保存到本地(第一个参数为图片名,第二参数为需要保存的图片);
PS:使用Pillow如何对图片进行裁剪
首先使用了open方法读取图片,然后查看它的size(这里的size和OpenCV中的shape是类似的),size的输出是(1920, 1080),也就是图片的宽度和高度。之后我们调用crop方法来对图片进行裁剪,crop需要给定一个box参数,box是一个四元组,元组中元素的顺序是需要裁剪得到的图片在原图中的左、上、右、下坐标,即(left, upper, right, lower)。然后,使用save方法保存裁剪得到的图片。如下图所示,Pillow可以同样完成OpenCV裁剪图片的工作
关于PIL的使用:
PIL是一个免费的库,它为我们的Python解释器添加了图像处理功能,支持多种图像文件格式,例如PPM,PNG,JPEG,GIF,TIFF和BMP
PIL提供了几种用于图像处理/操纵的标准程序,例如:
pixel-based manipulations 基于像素的操作
masking and transparency handling 遮罩和透明处理
filtering (for example, blurring, contouring, smoothing, edge detection) 过滤(例如,模糊,轮廓绘制,平滑,边缘检测)
image enhancement (for example, sharpening, brightness adjustment, contrast) 图像增强(例如,锐化,亮度调整,对比度)
geometrical, color and other transforms 几何,颜色和其他变换
adding text to images 向图像添加文本
cutting, pasting and merging images 剪切,粘贴和合并图像
creating thumbnails. 创建缩略图