Hướng dẫn segmentation fault (core dumped) python - lỗi phân đoạn (đổ lõi) python
Show
Nếu bạn thực sự nhận được lỗi này từ việc chạy Python, điều này có nghĩa là thông dịch viên Python đã bị sập. Chỉ có một vài lý do điều này có thể xảy ra:
Đầu tiên là phổ biến nhất. Nếu Thông thường, khi các mô -đun C sụp đổ, đó là do bạn đang làm một cái gì đó không hợp lệ, hoặc ít nhất là không phổ biến và chưa được kiểm chứng. Nhưng liệu đó có phải là "lỗi" của bạn theo nghĩa đó hay không - điều đó không quan trọng. Mô -đun sẽ tăng một ngoại lệ Python mà bạn có thể gỡ lỗi, thay vì gặp sự cố. Vì vậy, có lẽ bạn nên báo cáo một lỗi cho bất cứ ai đã viết phần mở rộng. Nhưng trong khi đó, thay vì chờ đợi 6 tháng để lỗi được sửa và một phiên bản mới sẽ ra mắt, bạn cần tìm ra những gì bạn đã làm điều đó đã gây ra vụ tai nạn, và liệu có cách nào khác để làm những gì bạn muốn. Hoặc chuyển sang một thư viện khác. Mặt khác, vì bạn đang đọc và in dữ liệu từ một nơi khác, có thể trình thông dịch Python của bạn chỉ cần đọc dòng Nếu bạn không chắc đó là trường hợp nào (và không muốn học cách quản lý quy trình, kiểm tra tệp cốt lõi hoặc gỡ lỗi cấp độ C ________số 8. Nếu bạn thấy rằng sau dòng Kết quả hàng đầu từ trên webLỗi phân đoạn (lõi đổ) Python - Stack Overflow Tôi đã tìm thấy lỗi xảy ra khi đạt được dòng RET, frame = cap.read (). Nhập Numpy khi nhập NP CV2 CAP = CV2.Videocapture ('/home/sunjia/& nbsp; ...... Đọc thêm> Nhập CV2 gây ra lỗi phân đoạn (kết xuất lõi) ' Tôi đang sử dụng JetPack 4.5.1 và CV2 được xây dựng (không có QT5) bằng cách sử dụng các hướng dẫn khi cài đặt OpenCV 4.5 trên Jetson Nano - Kỹ thuật Q ... Đọc thêm> CV2.cap_prop_pos_msec Thời gian Python - You.com | Tìm kiếm ... Tôi đang cố gắng trích xuất các khung theo dấu thời gian cụ thể từ video bằng opencv-python. Mã dường như hoạt động trong môi trường địa phương của tôi. mã số... Đọc thêm> CV2 gây ra lỗi phân đoạn (kết xuất lõi) ' - Python - OpenCV Việc xây dựng/thực hiện dường như đã hoạt động nhưng tôi đang nhận được 'lỗi phân đoạn (kết xuất cốt lõi)' một chương trình Python đơn giản bắt đầu bằng 'Nhập CV2' Can & Nbsp; ...... Đọc thêm> Python - Blog của Satyaki DE Trích xuất dữ liệu được quét từ một biểu mẫu được đặt sẵn bằng OpenCV & Python ... Phân đoạn cuối cùng sẽ gọi hàm getWarPimages để có được ... Đọc thêm> Bài trung bình liên quan hàng đầuCâu hỏi về Stackoverflow liên quan hàng đầuKhắc phục sự cố mã trực tiếpLightrun cho phép các nhà phát triển thêm nhật ký, số liệu và ảnh chụp nhanh vào mã trực tiếp - không cần khởi động lại hoặc triển khai lại. Bắt đầu miễn phí Chủ đề Reddit liên quan hàng đầuBài đăng hackernoon liên quan hàng đầuTweet liên quan đến hàng đầuBài viết liên quan đến hàng đầuBài đăng Hashnode liên quan hàng đầu Bất kỳ ý tưởng gì sai với mã này ở đây và cho tôi lỗi phân đoạn (lõi bị bỏ) ??? Tôi đã nhận được mã từ đây: https://docs.opencv.org/3.0-beta/doc/py_...homography Đây là mã: import numpy as np import cv2 from matplotlib import pyplot as plt print("1") MIN_MATCH_COUNT = 10 print("2") img1 = cv2.imread("/Homography/car.jpg",0) # queryImage print("3") img2 = cv2.imread("/Homography/scenery.jpg",0) # trainImage print("4") # Initiate SIFT detector sift = cv2.SIFT() print("5") # find the keypoints and descriptors with SIFT kp1, des1 = sift.detectAndCompute(img1,None) print("6") kp2, des2 = sift.detectAndCompute(img2,None) print("7") FLANN_INDEX_KDTREE = 0 print("8") index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5) print("9") search_params = dict(checks = 50) print("10") flann = cv2.FlannBasedMatcher(index_params, search_params) print("11") matches = flann.knnMatch(des1,des2,k=2) print("12") # store all the good matches as per Lowe's ratio test. good = [] print("13") for m,n in matches: print("14") if m.distance < 0.7*n.distance: print("15") good.append(m) if len(good)>MIN_MATCH_COUNT: print("16") src_pts = np.float32([ kp1[m.queryIdx].pt for m in good ]).reshape(-1,1,2) print("17") dst_pts = np.float32([ kp2[m.trainIdx].pt for m in good ]).reshape(-1,1,2) print("18") M, mask = cv2.findHomography(src_pts, dst_pts, cv2.RANSAC,5.0) print("19") matchesMask = mask.ravel().tolist() print("20") h,w = img1.shape print("21") pts = np.float32([ [0,0],[0,h-1],[w-1,h-1],[w-1,0] ]).reshape(-1,1,2) print("22") dst = cv2.perspectiveTransform(pts,M) print("23") img2 = cv2.polylines(img2,[np.int32(dst)],True,255,3, cv2.LINE_AA) print("24") else: print("Not enough matches are found - %d/%d" % (len(good),MIN_MATCH_COUNT)) print("25") matchesMask = None print("26") draw_params = dict(matchColor = (0,255,0), # draw matches in green color singlePointColor = None, matchesMask = matchesMask, # draw only inliers flags = 2) print("27") img3 = cv2.drawMatches(img1,kp1,img2,kp2,good,None,**draw_params) print("28") plt.imshow(img3, 'gray'),plt.show() print("29") Lỗi tôi nhận được là:
Bài viết: 5656 Chủ đề: 22 Tham gia: tháng 1 năm 2021Jan 2021 Danh tiếng: 2 2 Đây là một lỗi trong Python hoặc một thư viện. Toàn bộ quan điểm của Python là tránh mọi khả năng nhận được lỗi phân đoạn. Nếu bạn nhận được một, bạn đã phát hiện ra một lỗi. Python không thể tạo lỗi SEG dựa trên chương trình của bạn; Nếu có một, đó là một sai lầm trong việc thực hiện Python hoặc thư viện mà bạn đang gọi, có thể đã được viết bằng C cho hiệu suất. Không phải vấn đề của bạn. Lỗi dường như nằm trong Sift.DetectandCompute () dựa trên đầu ra được tạo ra. Nó đã thất bại giữa các dòng 13 (bản in thành công) và 16 vì vậy khả năng duy nhất là dòng 15. Tập tin báo cáo lỗi. Có lẽ cho thư viện CV2. người có sở thích và gribouillis như bài đăng này Điều gì gây ra lõi lỗi phân đoạn được đổ trong Python?Tổng quan.Một lỗi phân đoạn (còn gọi là Segfault) là một điều kiện phổ biến khiến các chương trình gặp sự cố;Chúng thường được liên kết với một tập tin có tên là lõi.Segfault được gây ra bởi một chương trình cố gắng đọc hoặc viết một vị trí bộ nhớ bất hợp pháp.
Là lỗi phân đoạn là một bãi rác cốt lõi?Lỗi kết xuất/phân đoạn lõi là một loại lỗi cụ thể do truy cập bộ nhớ mà không thuộc về bạn.Khi một đoạn mã cố gắng thực hiện hoạt động đọc và viết trong một vị trí đọc chỉ trong bộ nhớ hoặc khối giải phóng của bộ nhớ, nó được gọi là kết xuất cốt lõi.When a piece of code tries to do read and write operation in a read only location in memory or freed block of memory, it is known as core dump.
Điều gì gây ra một segfault?Lỗi phân đoạn xảy ra khi chương trình cố gắng truy cập vị trí bộ nhớ mà nó không được phép truy cập hoặc cố gắng truy cập vị trí bộ nhớ theo cách không được phép (ví dụ: cố gắng ghi vào vị trí chỉ đọcđể ghi đè một phần của hệ điều hành). |