南强小屋 Design By 杰米
下面的代码通过积分图计算一张图片的一种haar特征的所有可能的值。初步学习图像处理并尝试写代码,如有错误,欢迎指出。
import cv2 import numpy as np import matplotlib.pyplot as plt # #计算积分图 # def integral(img): integ_graph = np.zeros((img.shape[0],img.shape[1]),dtype = np.int32) for x in range(img.shape[0]): sum_clo = 0 for y in range(img.shape[1]): sum_clo = sum_clo + img[x][y] integ_graph[x][y] = integ_graph[x-1][y] + sum_clo; return integ_graph # Types of Haar-like rectangle features # --- --- # | | | # | - | + | # | | | # --- --- # #就算所有需要计算haar特征的区域 # def getHaarFeaturesArea(width,height): widthLimit = width-1 heightLimit = height/2-1 features = [] for w in range(1,int(widthLimit)): for h in range(1,int(heightLimit)): wMoveLimit = width - w hMoveLimit = height - 2*h for x in range(0, wMoveLimit): for y in range(0, hMoveLimit): features.append([x, y, w, h]) return features # #通过积分图特征区域计算haar特征 # def calHaarFeatures(integral_graph,features_graph): haarFeatures = [] for num in range(len(features_graph)): #计算左面的矩形区局的像素和 haar1 = integral_graph[features_graph[num][0]][features_graph[num][1]]- integral_graph[features_graph[num][0]+features_graph[num][2]][features_graph[num][1]] - integral_graph[features_graph[num][0]][features_graph[num][1]+features_graph[num][3]] + integral_graph[features_graph[num][0]+features_graph[num][2]][features_graph[num][1]+features_graph[num][3]] #计算右面的矩形区域的像素和 haar2 = integral_graph[features_graph[num][0]][features_graph[num][1]+features_graph[num][3]]- integral_graph[features_graph[num][0]+features_graph[num][2]][features_graph[num][1]+features_graph[num][3]] - integral_graph[features_graph[num][0]][features_graph[num][1]+2*features_graph[num][3]] + integral_graph[features_graph[num][0]+features_graph[num][2]][features_graph[num][1]+2*features_graph[num][3]] #右面的像素和减去左面的像素和 haarFeatures.append(haar2-haar1) return haarFeatures img = cv2.imread("faces/face00001.bmp",0) integeralGraph = integral(img) featureAreas = getHaarFeaturesArea(img.shape[0],img.shape[1]) haarFeatures = calHaarFeatures(integeralGraph,featureAreas) print(haarFeatures)
以上这篇python 计算积分图和haar特征的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无python 计算积分图和haar特征的实例代码的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。