[問題] python 速度 FOR_LOOP
目前剛接觸python
以python撰寫了一段Sobel影像處理,程式碼如下
===================================================
import cv2
import numpy as np
img=cv2.imread("/home/chenposhao/Desktop/IMAGE/cameraman.tif",0)
[row,col]=img.shape
resx=np.zeros((row,col),np.uint8)
kernalx=np.array([[1,2,1],[0,0,0],[-1,-2,-1]])
kernaly=np.array([[1,0,-1],[2,0,-2],[1,0,-1]])
for x in range(row):
for y in range(col):
if x==0 or x==row-1 or y==0 or y==col-1:
pass
else:
subxsum=0
subysum=0
for i in range(-1,2):
for j in range(-1,2):
newx=img[x+i,y+j]*kernalx[i+1,j+1]
subxsum=subxsum+newx
newy=img[x+i,y+j]*kernaly[i+1,j+1]
subysum=subysum+newy
respixel=abs(subxsum+subysum/2)
if respixel>255:
respixel=255
elif respixel<0:
respixel=0
resx[x,y]=respixel
cv2.imshow("IMAGE",img)
cv2.imshow("SOBELX",resx)
cv2.waitKey(0)
cv2.destroyAllWindows()
================================================================
首先要先說,跑的圖片是256*256
我知道CV有SOBEL函式庫可以用,
但因為用他的函式庫發現他並沒有將所計算的像素取絕對值
因此有方向性的問題,為了驗證才寫此程式碼
但發現這個程式碼再執行的時候不如預期的快
從中間的for x in range(row): 到 resx[x,y]=respixel
整個FORLOOP跑完要5.5秒左右
VB,C幾毫秒即可跑完
想問一下這是python所必須要克服的事情嘛?
因為剛接觸Python,早有相傳他因為直譯所以速度慢
但想不到落差有些許的大
還是說其實這是能改善的?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.120.101.45
※ 文章網址: http://www.ptt.cc/bbs/Python/M.1407169658.A.D84.html
推
08/05 01:00, , 1F
08/05 01:00, 1F
推
08/05 01:10, , 2F
08/05 01:10, 2F
推
08/05 01:14, , 3F
08/05 01:14, 3F
→
08/05 01:14, , 4F
08/05 01:14, 4F
→
08/05 01:15, , 5F
08/05 01:15, 5F
推
08/05 08:37, , 6F
08/05 08:37, 6F
→
08/05 09:36, , 7F
08/05 09:36, 7F
推
08/05 10:24, , 8F
08/05 10:24, 8F
推
08/05 10:30, , 9F
08/05 10:30, 9F
→
08/05 10:31, , 10F
08/05 10:31, 10F
→
08/05 10:32, , 11F
08/05 10:32, 11F
→
08/05 10:33, , 12F
08/05 10:33, 12F
推
08/06 20:27, , 13F
08/06 20:27, 13F
→
08/06 20:28, , 14F
08/06 20:28, 14F
→
08/06 20:29, , 15F
08/06 20:29, 15F
推
08/06 20:33, , 16F
08/06 20:33, 16F
→
08/06 20:35, , 17F
08/06 20:35, 17F
推
08/06 22:19, , 18F
08/06 22:19, 18F
→
08/06 22:20, , 19F
08/06 22:20, 19F
推
08/06 22:48, , 20F
08/06 22:48, 20F
推
08/08 06:36, , 21F
08/08 06:36, 21F
推
08/08 09:28, , 22F
08/08 09:28, 22F
→
08/11 11:10, , 23F
08/11 11:10, 23F
→
08/13 16:31, , 24F
08/13 16:31, 24F
推
08/14 16:45, , 25F
08/14 16:45, 25F
推
08/14 16:56, , 26F
08/14 16:56, 26F
→
08/14 16:56, , 27F
08/14 16:56, 27F
Python 近期熱門文章
PTT數位生活區 即時熱門文章