分类 Python 下的文章

解决cv2.drawMatches函数不存在的问题


起步

cv2.drawMatches这个函数在OpenCV 2.4.12中不存在。3.0以后才提供。所以运行时得到这样的报错:

Traceback (most recent call last):
File "match.py", line 22, in <module>
img3 = cv2.drawMatches(img1,kp1,img2,kp2,matches[:10], flags=2)
AttributeError: 'module' object has no attribute 'drawMatches'


python opencv搭建


起步

系统环境:win7 64位 python版本:2.7

第一步

需要下载opencv和python的numpy库。

https://sourceforge.net/projects/opencvlibrary/files/里找到win环境下最新版本的opencv-2.4.12.exe

http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy下载对应的numpy,下载的是.whl文件,安装方式:

pip install whil_file.whl

第二步

opencv\build\python\2.7\x64下的cv2.pyd拷贝到Python27\Lib\site-packages

测试

import cv2
import numpy

python练习


其实有很多这样的活动都有一个相同的模式:N 种人物卡片,每次买一包干脆面随机得到一张。当你集齐这 N 种人物时,就会有相应的奖励。 那时候还不懂怎么计算概率,白白给人家送了好多钱,吃了好多干脆面。 现在的任务是,给你一个正整数 N (1 <= N <= 10^4),请你帮我从期望的角度计算平均需要买多少包干脆面才能集齐这 N 种人物。 提醒:由于结果可能不是整数,所以结果只保留到小数点后两位。


使用C/C++编写Python模块扩展


起步

这是我第一次尝试用c语言给其他语言编写扩展,期望我后面能强到可以为php编写扩展。现在用的python,写的模块也大都是python自身语言写的,为了获得优越的执行性能,利用Python提供的API,如宏,类型,函数等来编写扩展。

前期准备

此次编写的环境为:

  • 系统:Ubuntu 15.10
  • GCC:5.2.1
  • Python:2.7.10

环境版本不一致一般也不会有什么问题,确保已安装python的开发包:sudo apt-get install python-dev