저는 라즈베리 파이와 파이썬 둘 다 매우 새롭습니다. 나는 이미지를 분석하는 코드를 작성했지만 치명적인 파이썬 오류가 계속 발생합니다. (파이 게임 낙하산) 분할 오류. 내 프로그램에 보통 15 분에서 1 시간 정도 걸립니다. 내가 읽은 것에서 이것은 일종의 메모리 오버 리치 문제입니다. 나는 내 문제를 해결할 수있는 구체적인 답을 찾지 못했습니다. 여기 내 코드가있다. 도와주세요. 아무도이 문제를 해결하거나 디버깅하는 방법에 대한 조언을 갖고 있습니까?치명적인 파이썬 오류 : (파이 게임 낙하산) 분할 오류
import cv2
from SimpleCV import Image, Camera
import time
import os
import RPi.GPIO as GPIO
T = 1
z = 0
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(31, GPIO.OUT)
GPIO.setup(32, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.output(31,GPIO.HIGH)
cam = Camera(prop_set={'width':320, 'height':240})
while(T):
w = [0 in range(9)]
if(GPIO.input(32)):
start = 80
pixel = 0
end = 225
time.sleep(0.32)
img = cam.getImage()
img.save('original.jpg')
edges = cv2.imread('original.jpg')
edges = cv2.Canny(edges,90,210)
print("hola")
for y in range (100,160):
i = 0
first = 0
temp = 0
last = 0
for x in range (start, end):
pixel = edges[y,x]
if (pixel >=120 and first == 0):
first = x
if (pixel >=120 and first != 0 and last < x):
last = x
if last != 0:
temp = last - first
for x in range(start, end):
if ((x <= last) and (x >=first)):
edges[y,x] = 140;
while(GPIO.input(32)):
pass
나는 그것의 대부분이 무슨 뜻인지 알아,하지만 난 (GDB)에서 프로그램을 실행하고 있다면이를 얻을 역 추적을하지 ...
(gdb) bt
#0 0x000835f4 in PyEval_EvalFrameEx()
#1 0x00081ca4 in PyEval_EvalCodeEx()
#2 0x000c37c4 in ??()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
오늘은 발견하는 경우 내가 파이 게임을 사용하여 사진을 촬영하고 역 추적을 할 경우 수입 SimpleCV, 이미지와 카메라 모두 내가 할 즉, 다음 카메라를 열고 무한 루프를 입력, 난 아직도 세그먼트 오류
(gdb) bt
#0 0x00087024 in PyEval_EvalFrameEx()
#1 0x000840cc in PyEval_EvalFrameEx()
#2 0x000a4520 in ??()
을 얻을, 내가 얻을 약간 더 많은 정보를 가진 분할 오류 ormation
#0 0x0006de50 in PyErr_Format()
#1 0x70952ee0 in v412_read_frame() from /usr/lib/python2.7/dist-packages/pygame/_camera.so
#2 0x7094ede0 in camera_get_image() from /usr/lib/python2.7/dist-packages/pygame/_camera.so
#3 0x0008360c in PyEval_EvalFrameEx()
#4 0x00081ca4 in PyEval_EvalCodeEx()
#5 0x000c37c4 in ??()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
나는 gdb의 새로운 기능을 발견했다. 나는 정보 스레드를 입력하고 나는 좀 .. 다음
Id Target ID Frame
2 Thread 0x72df9460 (LWP 601) "python2.7" 0x76e3ab80 in poll()at ../sysdeps/unix/syscall-template.S:81
*1 Thread 0x76ff6000 (LWP 600) "python2.7" 0x0006de50 in PyErr_Format()
나는 목록을 입력하면 내가 별표가 프로그램을 종료 스레드 의미 있다고 생각이
1 ../sysdeps/unix/syscall-template.S: No such file or directory
를 얻을 수 있지만, 나는 분명하지 않은. 아무도 여기에서 무엇을해야 할지를 알고 있습니까?
메모리 문제가 의심되는 경우 상단과 같은 리소스 모니터를보고 – Nullman
메모리 사용량을 확인해 볼 수 있으며 32 %를 초과하지 않습니다. 아마도 내가 사용하고있는 라이브러리 중 하나가 아마도 도달 범위를 벗어나는 주소로 전화하고 있는지 궁금합니다. 나는 그것이 cv2라는 가능성을 제거했지만, 나는 시작하기 위해서 다른 라이브러리가 필요하다고 생각한다. – maddmaxamofo
오늘 pygame을 사용하여 사진을 찍고 저장하고 simpleCV를 생략했습니다. 그것은 약 2 시간 동안 일한 다음 두려운 치명적인 파이썬 오류를주었습니다. (파이 게임 낙하산) 분할 결함 – maddmaxamofo