国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python基于分水嶺算法解決走迷宮游戲示例

2020-02-16 10:19:20
字體:
來源:轉載
供稿:網友

本文實例講述了Python基于分水嶺算法解決走迷宮游戲。分享給大家供大家參考,具體如下:

#Solving maze with morphological transformation"""usage:Solving maze with morphological transformationneeded module:cv2/numpy/sysref:1.http://www.mazegenerator.net/2.http://blog.leanote.com/post/leeyoung/539a629aab35bc44e2000000@author:Robin Chen"""import cv2import numpy as npimport sysdef SolvingMaze(image):#load an image  try:    img = cv2.imread(image)  except Exception,e:    print 'Error:can not open the image!'    sys.exit()#show image  #cv2.namedWindow('image', cv2.WINDOW_NORMAL)  cv2.imshow('maze_image',img)#convert to gray  gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#show gray image  #cv2.imshow('gray_image',gray_image)#convert to binary image  retval,binary_image = cv2.threshold(gray_image, 10,255, cv2.THRESH_BINARY_INV)  #cv2.imshow('binary_image',binary_image)  contours,hierarchy = cv2.findContours(binary_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)  if len(contours) != 2:    sys.exit("This is not a 'perfect maze' with just 2 walls!")  h, w, d = img.shape#The first wall  path = np.zeros((h,w),dtype = np.uint8)#cv2.CV_8UC1  cv2.drawContours(path, contours, 0, (255,255,255),-1)#cv2.FILLED  #cv2.imshow('The first wall',path)#Dilate the wall by a few pixels  kernel = np.ones((19, 19), dtype = np.uint8)  path = cv2.dilate(path, kernel)  #cv2.imshow('Dilate the wall by a few pixels',path)#Erode by the same amount of pixels  path_erode = cv2.erode(path, kernel);  #cv2.imshow('Erode by the same amount of pixels',path_erode)#absdiff  path = cv2.absdiff(path, path_erode);  #cv2.imshow('absdiff',path)#solution  channels = cv2.split(img);  channels[0] &= ~path;  channels[1] &= ~path;  channels[2] |= path;  dst = cv2.merge(channels);  cv2.imshow("solution", dst);#waiting for any key to close windows  cv2.waitKey(0)  cv2.destroyAllWindows()if __name__ == '__main__':  image = sys.argv[-1]  SolvingMaze(image)

更多關于Python相關內容可查看本站專題:《Python游戲開發技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铁岭市| 偏关县| 蓝田县| 邵东县| 湘西| 射洪县| 高平市| 江川县| 平阳县| 大化| 安阳县| 突泉县| 阿巴嘎旗| 左贡县| 孟村| 锦州市| 临城县| 阳城县| 仙桃市| 锦州市| 巨野县| 九龙城区| 兴义市| 庆元县| 永寿县| 新巴尔虎左旗| 玉门市| 界首市| 嘉义市| 逊克县| 古丈县| 樟树市| 渑池县| 洞头县| 乳源| 济南市| 徐水县| 万源市| 凌源市| 平江县| 乾安县|