如何编码以修复检测到的致命错误:使用自动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?

查看:90
本文介绍了如何编码以修复检测到的致命错误:使用自动py-to-exe编译python代码到exe文件后,无法执行脚本BoxDetection?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何编码以修复检测到的致命错误:使用自动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?

我学会了使用vdo链接 https://www.youtube.com/watch?v=ZtBTrARHJps&list=WL&index=3&t=156s .

I learn to compile python code to exe file with vdo link https://www.youtube.com/watch?v=ZtBTrARHJps&list=WL&index=3&t=156s .

我在使用自动py-to-exe编译python代码到exe文件后遇到问题,并且在程序完成工作后出现了弹出错误.

I have problem to after use auto-py-to-exe compile python code to exe file and have popup error after program finished working.

Fatal error detected
Failed to execute script BoxDetection

图片链接出现弹出错误- https://i.imgur.com/ycQrFJ4.jpg 询问如何编码以将弹出错误修复为无法执行脚本BoxDetection 问题.

Have popup error with picture link - https://i.imgur.com/ycQrFJ4.jpg to ask how to coding to fix popup error to Failed to execute script BoxDetection problem.

示例代码.

  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<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()

  1. boxdetectionerrorlog.txt (带有下载链接).
  1. boxdetectionerrorlog.txt with download link.

https://doanga2007.github.io/boxdetectionerrorlog.txt

  1. 带有链接的VDO示例 box2.mp4 - https://doanga2007.github.io/box2.mp4

BoxDetection.exe 64位使用自动py-to-exe编译python代码到具有下载链接的exe文件.

BoxDetection.exe 64 bit use auto-py-to-exe compile python code to exe file with download link.

https://drive.google.com/file/d/1tnnnDWRrg1NbPZ3hr9mhY-t_4zry21rB/view?usp = sharing

如果打开BoxDetection.exe并选择示例VDO box2.mp4,则在程序完成图片链接处理后出现弹出错误.

If open BoxDetection.exe and select sample VDO box2.mp4 , Have popup error after program finished working with picture link.

https://i.imgur.com/p06GzjP.jpg

  1. boxdetectionerrorlog + debug.txt (带有下载链接).
  1. boxdetectionerrorlog+debug.txt with download link.

https://doanga2007.github.io/boxdetectionerrorlog+debug.txt

  1. 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后无法执行脚本BoxDetection用我的完整源代码将python代码编译为exe文件.

Good news : I have answer to fix Fatal error detected : Failed to execute script BoxDetection after use auto-py-to-exe compile python code to exe file with my full source code.

我有 link1 链接3

  • 使用以下命令安装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
    

    1. 编码示例.

    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 示例文件- https://doanga2007.github.io/box2.mp4

    and VDO box2.mp4 example file with link - https://doanga2007.github.io/box2.mp4

    1. 打开cmd并使用 auto-py-to-exe 命令打开 auto-py-to-exe 程序,打开python文件并按编译按钮立即将python文件编译为exe文件.

    1. Open cmd and use auto-py-to-exe command to open auto-py-to-exe program , Open python file and press compile button to compile python file to exe file instantly.

    具有链接的 BoxDetection.exe - https://drive.google.com/file/d/1tnnnDWRrg1NbPZ3hr9mhY-t_4zry21rB/view?usp=sharing

    这篇关于如何编码以修复检测到的致命错误:使用自动py-to-exe编译python代码到exe文件后,无法执行脚本BoxDetection?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆