记opencv-python-tutroals中关于Pyramids中Blending的错误
2017-03-27 10:30
381 查看
在官方文档的第84页中,对apple和orange图片的合成中,实例代码有几个地方需要注意,首先是pyrUp和pyrDown对图像先放大后缩小或者是先缩小后放大后,可能rows和cols和原图像不同,需要resize才能恢复,其次有个小错,就是np.hstack中对cols的参数写错了。贴上正确的代码。
(其实和文档里面的示例图片还是不同,有待进一步学习)
(其实和文档里面的示例图片还是不同,有待进一步学习)
import cv2 import numpy as np from matplotlib import pyplot as plt A = cv2.imread('/Users/apple/Desktop/apple.jpg') B = cv2.imread('/Users/apple/Desktop/orange.jpg') rows, cols = A.shape[ : 2] B = cv2.resize(B, (rows, cols)) G = A.copy() gaA = [G] for i in xrange(6): G = cv2.pyrDown(G) gaA.append(G) G = B.copy() gaB = [G] for i in range(6): G = cv2.pyrDown(G) gaB.append(G) lpA = [gaA[5]] for i in xrange(5, 0, -1): GE = cv2.pyrUp(gaA[i]) rows, cols = gaA[i - 1].shape[ : 2] GE = cv2.resize(GE, (rows, cols)) L = cv2.subtract(gaA[i - 1],GE) lpA.append(L) lpB = [gaB[5]] for i in xrange(5, 0, -1): GE = cv2.pyrUp(gaB[i]) rows, cols = gaB[i - 1].shape[ : 2] GE = cv2.resize(GE, (rows, cols)) L = cv2.subtract(gaB[i - 1], GE) lpB.append(L) LS = [] for la, lb in zip(lpA, lpB): rows, cols, dpt = la.shape ls = np.hstack((la[ :, 0 : cols / 2], lb[ :, cols / 2 : ])) LS.append(ls) ls_ = LS[0] for x in xrange(1, 6): ls_ = cv2.pyrUp(ls_) rows, cols = ls_.shape[ : 2] LS[i] = cv2.resize(LS[i], (rows, cols)) ls_ = cv2.add(ls_, LS[i]) real = np.hstack((A[ :, 0 : cols / 2], B[ :, cols / 2: ])) cv2.imwrite('/Users/apple/Desktop/Pyramids_Blending.jpg', ls_) cv2.imwrite('/Users/apple/Desktop/Direct_Blending.jpg', real)
相关文章推荐
- Core Python Programming一书中关于深浅拷贝的错误
- Python 程序员经常犯的 10 个关于Python常见错误
- 关于OpenCV的那些事——利用RANSAC消除错误姿态
- [python] 关于错误 ImportError: cannot import name compile_command
- 关于python中的空格错误
- VS2008 关于封装OPENCV相关的DLL出现的错误总结
- python-opencv 关于鼠标的回调函数
- 关于python opencv使用
- 关于windows安装python过程中出现error 2503 2502错误的解决方法
- 关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因
- 关于windows安装python过程中出现error 2503 2502错误的解决方法
- 关于Opencv python中 cvmat 和ndarray的转换问题
- 【Python】关于递进错误indentationerror
- 关于Python 3.x中,使用print函数时出现的语法错误(SyntaxError: invalid syntax)的问题的原因
- 恢复软件环境时遇到的关于opencv的几个错误
- opencv中关于图像图像处理时出现Bad argument (Array should be the cvMat or IplImage) in unknown function ……错误的解决办法
- 关于opencv3.0 beta 编译出现ORB那边的错误的解决
- 关于OPENCV中链接库容易加载错误的解决方案
- 关于python csv文件打开错误:_csv.Error: line contains NULL byte
- 关于python分号报invalidsyntax错误的问题