栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

OpenCV-Python接口,cv和cv2的性能比较

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

OpenCV-Python接口,cv和cv2的性能比较

cv2.imread()返回的图像是NumPy的数组对象。因此,您可以使用NumPy的函数来加快计算速度。

以下程序显示了如何通过使用ndarray对象的item(),itemset()方法加快循环版本的来源。

import timeimport numpy as npimport cv2gray = cv2.imread('lena_full.jpg',0)height, width = gray.shapeh = np.empty((height,width,3), np.uint8)t = time.time()for i in xrange(height):    for j in xrange(width):        k = gray.item(i, j)        if k == 127: h.itemset(i, j, 0, 255) h.itemset(i, j, 1, 255) h.itemset(i, j, 2, 255)        elif k > 127: h.itemset(i, j, 0, 0) h.itemset(i, j, 1, 0) h.itemset(i, j, 2, 255-k)        else: h.itemset(i, j, 0, k) h.itemset(i, j, 1, 0) h.itemset(i, j, 2, 0)print time.time()-t

下面的程序演示了如何首先创建调色板,并使用NumPy的数组索引来获取结果:

t = time.time()palette = []for i in xrange(256):    if i == 127:        palette.append((255, 255, 255))    elif i > 127:        palette.append((0,0,255-i))    else:        palette.append((i, 0, 0))palette = np.array(palette, np.uint8)h2 = palette[gray]print time.time() - tprint np.all(h==h2)

输出为:

0.4530000686650.0309998989105True

简历版本输出为:

0.468999862671

注意:轴0的长度是图像的高度,轴1的长度是图像的宽度



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398381.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号