
Python
王小鹏鹏
计算机视觉的应用,让远程办公成为可行,写字楼将大量消失。--2016年春
展开
-
多个数组,每个数组中选择一项,总共能有多少种组合,reduce函数实现
我在《多个数组,每个数组中选择一项,总共能有多少种组合,treelib实现》中写了通过treelib实现的方式,但我发现这个方式内存消耗量极大,有的时候内存使用量达到30G,reduce对内存的使用也很大,但性能上胜出,所以这次使用reduce搞一把。废话不多说了,看代码:import numpy as npimport sysdef combination(lists): i...原创 2019-11-01 17:14:35 · 777 阅读 · 0 评论 -
多个数组,每个数组中选择一项,总共能有多少种组合,treelib实现
啥时候遇到这种问题这种问题,我认为是路径问题,以下面的两个数组举例,第一次有2个选择,然后再选,还有2个选择。总共有2x2=4种选择。[1, 2], [3, 4] 总共有2x2=4种选择。[1, 2], [3, 4],[5, 6, 7, 8] 总共 2x2x4=8中选择。大数据处理的时候肯定遇到数据小还很方便的,但我遇到了,这些路径的组合:[[6, 8], [2, 5], [1, 9]...原创 2019-10-31 15:17:50 · 1296 阅读 · 1 评论 -
有意思的面试题-数独问题
通过代码算出来,并没有遍历全部路径import numpy as npimport copy#这个函数的作用是多个数组,每个数组中取一个数字,最多能有多少种组合方式。def getAllPossibleMap(mList): H = len(mList) W = 1 for l in mList: W = W * len(l) prin...原创 2019-10-17 14:51:13 · 676 阅读 · 0 评论 -
Python将文件大小以概率分布图的方式进行统计
项目背景我是在做计算机项目的时候会遇到这种问题,当使用爬虫爬取大量图片后,图片大小参差不齐,有些图片明显是不可使用的,比如很小的图片就很可疑(在机器学习的时候可能无法使用),而你又不知道小图片在你的存贮空间中的占比,这就需要Python的概率分布图来标识了。代码功能1.用户手动输入图片的路径。这个路径是已经整理过的了,全部都是图片。2.将小于512K的图片筛选出来。3.显示小于512K的...原创 2019-05-17 17:06:05 · 1803 阅读 · 1 评论 -
Python检测JPEG、PNG是否完整(2)
《深度学习-如何提高数据集质量》原创 2019-05-23 11:44:05 · 3987 阅读 · 25 评论 -
Python批量PNG转换成JPGE设置quality=99
《深度学习-如何提高数据集质量》代码比较简单了,转换完成后,扩展名也跟着修改了。 64417202549ca99bf5f6db25476e949f.png to 64417202549ca99bf5f6db25476e949f.jpeg 63e5f8309e07fbfd2545347797a824ea.png to 63e...原创 2019-05-23 14:06:26 · 1059 阅读 · 2 评论 -
OpenCV使用直方图对比查找相同图片
《深度学习-如何提高数据集质量》经过上面的多篇博客对图片资源的整理,终于可以运行到这一部分了,这个是对像素分布进行对比,Demo运行成果后会把查找结果以网页的形式展现出来。file 0fab5c6288a6c43560c8b0a71fc632cb.jpeg d2aa75db5503af7bd7eb522919a26161.jpeg 0fab5c6288a6c43560c8b0a71fc632...原创 2019-05-23 16:04:38 · 2119 阅读 · 2 评论 -
Python音频转文字之autosub
简介将音频转化成文字进行保存,输入可以是音频文件,也可以是视频文件,最终保存是文本文件。Autosub就是今天用到的工具。类似一个传话筒的工具吧。他会动态调用google的api,googl给他最终的结果。测试了一下。为一段没有字幕的视频添加了字幕。效果就是这种效果。安装apt-get install ffmpeg.pip install autosub.运行autos...原创 2019-06-19 12:08:46 · 13440 阅读 · 4 评论 -
有意思的面试题 Spiral Memory
Spiral MemoryYou come across an experimental new kind of memory stored on an infinite two-dimensional grid.Each square on the grid is allocated in a spiral pattern starting at a location marked 1 an...原创 2019-06-11 16:44:31 · 629 阅读 · 0 评论 -
有意思的面试题 Simple Number Finding
Simple Number FindingYou are playing a card game with your friends. This game in China named “扎金花”. In this game, the2, 3, 5 are some simple powerful numbers. Because the combination of 2,3,5 is les...原创 2019-06-11 16:50:11 · 419 阅读 · 0 评论 -
How to build opencv-python如何本地编译OpenCV的Python版本
创建Python环境我使用的是virtualenv创建的环境,如果你使用conda也是同理,这两个我都测试过。virtualenv --system-site-packages -p python3 ~/pyenv/tf1x启动刚刚创建的环境source ~/pyenv/tf1x/bin/activate安装OpenCV的Python依赖库pip install numpy开...原创 2019-06-27 18:03:39 · 9739 阅读 · 3 评论 -
Python imagehash中的均值哈希、感知哈希、梯度哈希、小波哈希对比图片相似度
源码下载WaveletImageHash.pyimagehashimagehash是使用Python语言编写的hash计算库,包括如下集中计算方式:名称简称简介average hashing (均值散列)aHash对图片的每个像素值进行比较,如果大于等于均值则输出1否则输出0.perception hashing (感知散列)pHash它和均值散列有些相似...原创 2019-10-11 17:39:58 · 4354 阅读 · 0 评论 -
Python检测JPEG、PNG是否完整
《OpenCV系列教程》项目位置:OpenCV-Sample代码位置:35-CheckJPEGPNG.py之前检测过JPEG文件是否完整,这次把PNG也添加进来,检测方式还是比较粗略,不能覆盖的很广。import ospath = './res/'def is_valid_jpg(jpg_file): with open(jpg_file, 'rb') as f: ...原创 2019-05-10 10:07:32 · 2784 阅读 · 2 评论 -
Python获取文件的真实格式并修正扩展名
《深度学习-如何提高数据集质量》爬虫爬下来的图片有时候,图片是JPEG格式的,但使用却是PNG的扩展名,也就是真实格式和扩展名对应不上。~/Desktop$ file 6b35e69d93b085480c7f30ba6eda2eae.png 6b35e69d93b085480c7f30ba6eda2eae.png: JPEG image data, JFIF standard 1.01, r...原创 2019-05-22 14:19:39 · 2208 阅读 · 2 评论 -
Python绘制点线
from PIL import Imagefrom pylab import *#读取图片信息到数组中im = array(Image.open('empire.jpg'))#绘制图像imshow(im)#随意给的一些点x = [100, 100, 400, 400]y = [200, 500, 200, 500]#使用红色-星状标记需要绘制的点plot(x, y, '原创 2017-06-12 11:16:39 · 38208 阅读 · 1 评论 -
通过OpenCV修改图片某一像素的数值 Python实现
这个就是将图像的像素点做轻微处理的小demo。原创 2017-07-03 16:33:56 · 8120 阅读 · 1 评论 -
图片区域剪切和属性的打印
为图片设置一个感兴趣区,并将区域图像粘贴到另一个位置,也叫感兴趣区(Region Of Interest. ROI)。import cv2import numpy as npimg = cv2.imread('empire.jpg')my_roi = img[0:100, 0:100]img[300:400, 300:400] = my_roicv2.imwrite('roi.jpg', i原创 2017-07-07 15:17:29 · 702 阅读 · 0 评论 -
读/写视频文件
这段代码经过测试后,写出来的AVI文件失去了声音import cv2videoCapture = cv2.VideoCapture('test.avi')fps = videoCapture.get(cv2.CAP_PROP_FPS)print fpssize = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(videoCapture原创 2017-07-07 19:33:05 · 616 阅读 · 0 评论 -
从摄像头中读取数据并写入文件
import cv2cameraCapture = cv2.VideoCapture(0)fps = cameraCapture.get(cv2.CAP_PROP_FPS)print fps#这里打印出来,就是为了查看参数是否获取成功。size = (int(cameraCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cameraCapture.get(c原创 2017-07-07 19:55:31 · 2280 阅读 · 1 评论 -
OpenCV获取摄像头数据并显示在窗口里 Python实现
import cv2clicked = Falsedef onMouse(event, x, y, flags, param): global clicked if event == cv2.EVENT_LBUTTONUP: clicked = TruecameraCapture = cv2.VideoCapture(0)cv2.namedWindow('MyWi原创 2017-07-07 20:42:58 · 7563 阅读 · 5 评论 -
将摄像头数据显示在窗口中并具有录像、截屏功能
先前写过两个读取摄像头数据的小Demo复习内容: OpenCV获取摄像头数据并显示在窗口里 Python实现 从摄像头中读取数据并写入文件原创 2017-07-26 18:02:55 · 2293 阅读 · 4 评论 -
高通滤波器 python实现
# -- coding: utf-8 --import cv2import cv2import numpy as npfrom scipy import ndimage#这个是滤波器使用的模板矩阵kernel_3x3 = np.array([[-1, -1, -1], [-1, 8, -1], [-原创 2017-07-28 17:34:39 · 14551 阅读 · 1 评论 -
直方图均衡化
如果一副图像的像素占有很多的灰度级而且分布均匀,那么这样的图像往往有高对比度和多变的灰度色调。直方图均衡化就是一种能仅靠输入图像直方图信息自动达到这种效果的变换函数。它的基本思想是对图像中像素个数多的灰度级进行展宽,而对图像中像素个数少的灰度进行压缩,从而扩展像原取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。上面的文字来自百度如下将展示如何使用Python实现: 一共两个文件。原创 2017-09-07 18:16:35 · 742 阅读 · 0 评论 -
Python通过图片文件内容的HashCode对比来删除相同图片
《深度学习-如何提高数据集质量》这次是通过图片文件内容的对比来删除相同的图片,为了有一个对比的方式,我先生成了网页,在网页中进行一个浏览,然后再打开删除语句,进行删除。效果如下:就是这样网页效果比较粗糙,但能产生需要的效果。浏览完了就可以打开删除语句了。代码如下:import osimport hashlibDirList = [ '/home/king/PycharmP...原创 2019-05-20 16:57:07 · 1423 阅读 · 1 评论 -
OpenCV使用直方图对比查找相同图片-多线程版本
《OpenCV系列教程》《深度学习-如何提高数据集质量》这版本并不完美因为在,不知道为什么,多线程compareHist计算没有单线程的高,代码如下:import cv2import osfrom concurrent.futures import ThreadPoolExecutorimport threadingimport psutilimport datetimeDi...原创 2019-05-24 19:33:46 · 810 阅读 · 1 评论 -
通过OpenCV将随机数转换成图片 Python实现
import cv2import numpyimport os# Make an array of 120,000 random bytes.randomByteArray = bytearray(os.urandom(120000))flatNumpyArray = numpy.array(randomByteArray)#Convert the array to make a原创 2017-06-30 17:08:59 · 1370 阅读 · 0 评论