如何编码以修复检测到的致命错误:使用 auto-py-to-exe 将 python 代码编译为 exe 文件后无法执行脚本 BoxDetection?
How to coding to fix Fatal error detected : Failed to execute script BoxDetection after use auto-py-to-exe compile python code to exe file?
如何编码以修复检测到的致命错误:使用 auto-py-to-exe 将 python 代码编译为 exe 文件后无法执行脚本 BoxDetection?
我学会了用 vdo 编译 python 代码到 exe 文件 link https://www.youtube.com/watch?v=ZtBTrARHJps&list=WL&index=3&t=156s .
我在使用 auto-py-to-exe 编译 python 代码到 exe 文件后遇到问题,程序完成后弹出错误。
Fatal error detected
Failed to execute script BoxDetection
图片弹出错误link - https://i.imgur.com/ycQrFJ4.jpg请教如何编码修复弹出错误Failed to execute script BoxDetection问题。
示例代码。
BoxDetection.py
import cv2
import numpy as np
from tkinter import Tk
from tkinter.filedialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
cap=cv2.VideoCapture(filename) # Compatible with box2 mp4 video file
while(cap.read()) :
ref,frame = cap.read()
roi=frame[:1080,0:1920]
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
gray_blur=cv2.GaussianBlur(gray,(25,25),0)
thresh=cv2.adaptiveThreshold(gray_blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,21,4)
kernel=np.ones((3,3),np.uint8)
closing=cv2.morphologyEx(thresh,cv2.MORPH_CLOSE,kernel,iterations=4)
result_img=closing.copy()
contours,hierachy=cv2.findContours(result_img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
counter=0
for cnt in contours:
area = cv2.contourArea(cnt)
if area<622 :
continue
# ellipse = cv2.fitEllipse(cnt)
# cv2.ellipse(roi,ellipse,(0,255,0),2)
counter+=1
cv2.putText(roi,str(counter),(10,100),cv2.FONT_HERSHEY_SIMPLEX,4,(0,0,255),4,cv2.LINE_AA)
cv2.imshow("Show",roi)
if cv2.waitKey(1) & 0xFF==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
boxdetectionerrorlog.txt
下载 link.
https://doanga2007.github.io/boxdetectionerrorlog.txt
示例 VDO box2.mp4
与 link - https://doanga2007.github.io/box2.mp4
BoxDetection.exe
64 位使用 auto-py-to-exe 编译 python 代码到 exe 文件并下载 link.
https://drive.google.com/file/d/1tnnnDWRrg1NbPZ3hr9mhY-t_4zry21rB/view?usp=sharing
如果打开BoxDetection.exe和select示例VDO box2.mp4,程序处理完图片后会弹出错误link。
https://i.imgur.com/p06GzjP.jpg
boxdetectionerrorlog+debug.txt
下载 link.
https://doanga2007.github.io/boxdetectionerrorlog+debug.txt
- Python Shell 描述 运行 模块后的错误日志。
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
== RESTART: C:\Users\tum\Desktop\โปรแกรม BoxDetection แบบ EXE\BoxDetection.py ==
Traceback (most recent call last):
File "C:\Users\tum\Desktop\โปรแกรม BoxDetection แบบ EXE\BoxDetection.py", line 13, in <module>
roi=frame[:1080,0:1920]
TypeError: 'NoneType' object is not subscriptable
>>>
好消息:我有修复检测到的致命错误的答案:使用auto-py-to-exe编译python代码到exe文件后无法执行脚本BoxDetection我的完整源代码。
我有 link1 , link2 , link3 and link4 的答案。
- 使用命令安装 pyinstaller / auto-py-to-exe / win32com :
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
pip install auto-py-to-exe
pip install pywin32
- 使用示例编码。
2.1 BoxDetection.py
import cv2
import numpy as np
from tkinter import Tk
from tkinter.filedialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
cap=cv2.VideoCapture(filename) # Compatible with box2 mp4 video file
while(cap.read()) :
ref,frame = cap.read()
roi=frame[:1080,0:1920]
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
gray_blur=cv2.GaussianBlur(gray,(25,25),0)
thresh=cv2.adaptiveThreshold(gray_blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,21,4)
kernel=np.ones((3,3),np.uint8)
closing=cv2.morphologyEx(thresh,cv2.MORPH_CLOSE,kernel,iterations=4)
result_img=closing.copy()
contours,hierachy=cv2.findContours(result_img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
counter=0
for cnt in contours:
area = cv2.contourArea(cnt)
if area<800 :
continue
# ellipse = cv2.fitEllipse(cnt)
# cv2.ellipse(roi,ellipse,(0,255,0),2)
counter+=1
cv2.putText(roi,str(counter),(10,100),cv2.FONT_HERSHEY_SIMPLEX,4,(0,0,255),4,cv2.LINE_AA)
cv2.imshow("Show",roi)
if cv2.waitKey(300000) & 0xFF==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
和 VDO box2.mp4
示例文件 link - https://doanga2007.github.io/box2.mp4
打开cmd并使用auto-py-to-exe
命令打开auto-py-to-exe
程序,打开python文件并按编译按钮将python文件编译为exe立即归档。
有 BoxDetection.exe
和 link - https://drive.google.com/file/d/1tnnnDWRrg1NbPZ3hr9mhY-t_4zry21rB/view?usp=sharing
如何编码以修复检测到的致命错误:使用 auto-py-to-exe 将 python 代码编译为 exe 文件后无法执行脚本 BoxDetection?
我学会了用 vdo 编译 python 代码到 exe 文件 link https://www.youtube.com/watch?v=ZtBTrARHJps&list=WL&index=3&t=156s .
我在使用 auto-py-to-exe 编译 python 代码到 exe 文件后遇到问题,程序完成后弹出错误。
Fatal error detected
Failed to execute script BoxDetection
图片弹出错误link - https://i.imgur.com/ycQrFJ4.jpg请教如何编码修复弹出错误Failed to execute script BoxDetection问题。
示例代码。
BoxDetection.py
import cv2
import numpy as np
from tkinter import Tk
from tkinter.filedialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
cap=cv2.VideoCapture(filename) # Compatible with box2 mp4 video file
while(cap.read()) :
ref,frame = cap.read()
roi=frame[:1080,0:1920]
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
gray_blur=cv2.GaussianBlur(gray,(25,25),0)
thresh=cv2.adaptiveThreshold(gray_blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,21,4)
kernel=np.ones((3,3),np.uint8)
closing=cv2.morphologyEx(thresh,cv2.MORPH_CLOSE,kernel,iterations=4)
result_img=closing.copy()
contours,hierachy=cv2.findContours(result_img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
counter=0
for cnt in contours:
area = cv2.contourArea(cnt)
if area<622 :
continue
# ellipse = cv2.fitEllipse(cnt)
# cv2.ellipse(roi,ellipse,(0,255,0),2)
counter+=1
cv2.putText(roi,str(counter),(10,100),cv2.FONT_HERSHEY_SIMPLEX,4,(0,0,255),4,cv2.LINE_AA)
cv2.imshow("Show",roi)
if cv2.waitKey(1) & 0xFF==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
boxdetectionerrorlog.txt
下载 link.
https://doanga2007.github.io/boxdetectionerrorlog.txt
示例 VDO
box2.mp4
与 link - https://doanga2007.github.io/box2.mp4BoxDetection.exe
64 位使用 auto-py-to-exe 编译 python 代码到 exe 文件并下载 link.
https://drive.google.com/file/d/1tnnnDWRrg1NbPZ3hr9mhY-t_4zry21rB/view?usp=sharing
如果打开BoxDetection.exe和select示例VDO box2.mp4,程序处理完图片后会弹出错误link。
https://i.imgur.com/p06GzjP.jpg
boxdetectionerrorlog+debug.txt
下载 link.
https://doanga2007.github.io/boxdetectionerrorlog+debug.txt
- Python Shell 描述 运行 模块后的错误日志。
Python 3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
== RESTART: C:\Users\tum\Desktop\โปรแกรม BoxDetection แบบ EXE\BoxDetection.py ==
Traceback (most recent call last):
File "C:\Users\tum\Desktop\โปรแกรม BoxDetection แบบ EXE\BoxDetection.py", line 13, in <module>
roi=frame[:1080,0:1920]
TypeError: 'NoneType' object is not subscriptable
>>>
好消息:我有修复检测到的致命错误的答案:使用auto-py-to-exe编译python代码到exe文件后无法执行脚本BoxDetection我的完整源代码。
我有 link1 , link2 , link3 and link4 的答案。
- 使用命令安装 pyinstaller / auto-py-to-exe / win32com :
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
pip install auto-py-to-exe
pip install pywin32
- 使用示例编码。
2.1 BoxDetection.py
import cv2
import numpy as np
from tkinter import Tk
from tkinter.filedialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
cap=cv2.VideoCapture(filename) # Compatible with box2 mp4 video file
while(cap.read()) :
ref,frame = cap.read()
roi=frame[:1080,0:1920]
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
gray_blur=cv2.GaussianBlur(gray,(25,25),0)
thresh=cv2.adaptiveThreshold(gray_blur,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY_INV,21,4)
kernel=np.ones((3,3),np.uint8)
closing=cv2.morphologyEx(thresh,cv2.MORPH_CLOSE,kernel,iterations=4)
result_img=closing.copy()
contours,hierachy=cv2.findContours(result_img,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
counter=0
for cnt in contours:
area = cv2.contourArea(cnt)
if area<800 :
continue
# ellipse = cv2.fitEllipse(cnt)
# cv2.ellipse(roi,ellipse,(0,255,0),2)
counter+=1
cv2.putText(roi,str(counter),(10,100),cv2.FONT_HERSHEY_SIMPLEX,4,(0,0,255),4,cv2.LINE_AA)
cv2.imshow("Show",roi)
if cv2.waitKey(300000) & 0xFF==ord('q'):
break
cap.release()
cv2.destroyAllWindows()
和 VDO box2.mp4
示例文件 link - https://doanga2007.github.io/box2.mp4
打开cmd并使用
auto-py-to-exe
命令打开auto-py-to-exe
程序,打开python文件并按编译按钮将python文件编译为exe立即归档。有
BoxDetection.exe
和 link - https://drive.google.com/file/d/1tnnnDWRrg1NbPZ3hr9mhY-t_4zry21rB/view?usp=sharing