PiCamera không hoạt động


9

Để khởi động máy ảnh tôi đang làm

>>> import picamera 
>>> camera = picamera.PiCamera()
mmal: mmal_vc_component_enable: failed to enable compononent : ENOSPC
Traceback (most recent call last):
  File "<stdin>", line, in <module>
  ...
  ...
picamera.exc.PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)

Tôi đã kiểm tra rất nhiều câu trả lời để cập nhật gói và tôi đã làm điều đó nhưng dường như không có gì giúp được. Máy ảnh của tôi đã biến mất hay có một số giải pháp?


1
Bạn đã kích hoạt camera trong raspi-config chưa?
Werner Kvalem Vesterås

vâng tôi đã làm bằng cách vào cấu hìnhsudo raspi-config
Coderaemon

1
Đảm bảo rằng máy ảnh của bạn được kết nối đúng cách, như thế này: adaf nhung.com/blog/wp-content/uploads/2014/01/ Kẻ
Werner Kvalem Vesterås

Có máy ảnh là đúng. Đèn LED màu đỏ bật sáng.
Coderaemon

1
Bạn đã thử vận ​​hành máy ảnh của bạn từ dòng lệnh với raspistill? Nếu điều đó không hiệu quả, có lẽ bạn nên tham khảo hướng dẫn la hét của máy ảnh: raspberrypi.org/documentation/troubledhoot/hardware/
trộm

Câu trả lời:


8

Ngoài các câu trả lời khác, tôi chỉ muốn đề cập rằng nguyên nhân gây ra lỗi này cũng có thể là do một quá trình khác hiện đang sử dụng máy ảnh.


2
Tôi nghĩ bạn có thể đúng. Tôi bắt đầu gặp lỗi này sau khi làm gián đoạn tập lệnh camera không phản hồi (sử dụng CTRL-C). Máy ảnh đã hoạt động tốt trước đó. Vậy làm cách nào để nhả / đặt lại camera để nó hoạt động trở lại?
Bill

Trong trường hợp của tôi, motionthư viện đã sử dụng máy ảnh. Chạy đã sudo service motion stopgiải quyết vấn đề của tôi
Laura Corssac

6

Mô-đun máy ảnh Raspberry Pi sử dụng GPU trên bo mạch và bộ nhớ của nó. Vì thông báo lỗi của bạn đề cập đến việc hết tài nguyên, hãy xem xét thêm ít nhất (và có thể nhiều hơn) mức tối thiểu được đề xuất là 128 MB vào phân bổ của GPU.

Để thay đổi nó:

sudo raspi-config

chọn: Tùy chọn nâng cao -> Chia bộ nhớ -> và đặt ít nhất 128MB

Một số người dùng báo cáo tin nhắn này biến mất sau khi thay đổi phân bổ bộ nhớ GPU thành 256MB từ 128MB.


Đây là trường hợp đối với tôi. Sau khi cập nhật, 128 MB không còn đủ nữa, tôi phải đặt nó thành 256 MB.
Nicolas BADIA

4

Tôi gặp vấn đề tương tự với Rasp Pi 3. Tôi đã bắt đầu một kịch bản python sẽ lấy 1 hình ảnh mỗi giây trong một phút. Tôi nhấn ctrl-z để làm gián đoạn quá trình thực thi tập lệnh khoảng nửa chừng. Khi tôi cố chạy lại tập lệnh, tôi đã gặp lỗi này, mặc dù có vẻ như không có tập lệnh nào khác đang sử dụng máy ảnh.

Cách khắc phục: Nhập "ps -a" để liệt kê tất cả các quy trình hiện đang chạy. Hãy tìm một cái có ghi "python" hoặc "python3" trong đầu ra, như thế này:
PID TTY TIME CMD 1218 tty1 00:00:00 bash 2203 pts/0 00:00:00 python 8960 pts/1 00:00:00 ps

Sử dụng lệnh "kill -KILL [PID #]" để dừng quá trình python. Trong trường hợp này, lệnh là "kill -KILL 2203".

Sau khi làm điều này, sử dụng lại "ps -a" để đảm bảo quy trình python không được liệt kê.

Điều này đã giải quyết vấn đề cho tôi và tôi đã có thể chạy lại kịch bản của mình mà không gặp vấn đề gì.

Hi vọng điêu nay co ich.



3

Giải pháp là đảm bảo rằng dòng, camera = PiCamera()nằm ngoài bất kỳ vòng lặp hoặc chức năng nào.

Nếu dòng camera = PiCamera()được gọi mỗi khi chức năng của bạn chạy thì Camera sẽ hết bộ nhớ.

camera = PiCamera()

def Take_an_Image():

    camera.resolution = (1024, 768)
    camera.start_preview()
    camera.capture("Test")

Có vẻ như lỗi cụ thể này là do hết bộ nhớ (lỗi là "Không thể bật thành phần máy ảnh: Hết tài nguyên (trừ bộ nhớ)") và OP đã không khai báo máy ảnh của họ một vòng lặp, nhưng đây là lời khuyên tốt nếu có ai không chạy ra khỏi bộ nhớ.
Aurora0001

3

Đối với bất kỳ ai khác có vấn đề này ... nếu đèn sáng khi khởi động thì bạn thực sự có thể có cổng cáp băng sai! Cáp sẽ vừa khít với cổng LCD và đèn sẽ sáng và mọi thứ. Nhưng bạn sẽ nhận được thông báo lỗi để kích hoạt thiết bị.

Werner đã chỉ ra điều này: https: //blog.adafbean.com/wp-content/uploads/2014/01/1646pi_LRG-600x461.jpg


1

Ngoài câu trả lời của alcor, hãy đảm bảo bạn chạy raspi-config và chọn tùy chọn 5 sau khi bạn khởi động, để bật hỗ trợ máy ảnh.

Tôi nghĩ rằng bạn có thể cần phải sử dụng sudo


1

Vì vậy, hóa ra cổng Camera của Raspberry Pi của tôi có vấn đề. Thay thế Pi, camera hoạt động trơn tru.


1

Tôi gặp vấn đề tương tự. Tôi nhận ra rằng vì tôi đang phát video qua httpd, tôi không thể sử dụng hình ảnh qua Python. Tôi đã phải chọn để cho tập lệnh Python truy cập vào hình ảnh hoặc để máy chủ Apache cung cấp video qua trình duyệt. Chỉ một quá trình có thể truy cập vào máy ảnh tại một thời điểm.


1

Tôi gặp vấn đề về nguồn tài nguyên này, hóa ra camera faptction (tên tệp) là vấn đề, vì tập tin đã tồn tại.


1

Trong mã của tôi có một lỗi ngớ ngẩn đã phát sinh lỗi này: Tôi đã mở máy ảnh một lần, nhưng cố tình mở lại khi người dùng nhấp vào nút phần cứng. Đóng camera trước cuộc gọi thứ hai đến PiCamera () đã giải quyết vấn đề.


0

Bạn sẽ gặp lỗi này nếu nút của bạn không được kết nối đúng. Pi sẽ nghĩ nút được nhấn và liên tục cố gắng chụp ảnh, do đó bạn sẽ hết tài nguyên!

Đảm bảo rằng nút của bạn được cắm vào pin GPIO chính xác và sau đó tiếp tục các phương pháp gỡ lỗi khác.


0

Chỉ cần đồng xu của tôi đáng giá .. Tôi đã viết một chương trình nhỏ có một chuỗi các bức ảnh. Nó hoạt động tốt trong IDLE, nhưng từ dòng lệnh xuất hiện cùng một lỗi chính xác là hết tài nguyên. Sự cố đã được khắc phục bằng cách thêm camera.close () sau khi ngoại trừ KeyboardInterrupt:, tức là Ctrl + C (trong vỏ python). khi bạn cần thoát ra khỏi một vòng lặp.


Cảm ơn câu trả lời của bạn. Bởi vì đó là câu trả lời đầu tiên của bạn, tôi đã được hệ thống nhắc nhở xem lại và đưa ra bất kỳ nhận xét nào có thể giúp bạn cải thiện nó. Tôi đang đấu tranh để hiểu câu trả lời được đề xuất của bạn là gì. Hãy cố gắng để được cụ thể hơn; ví dụ cung cấp một số mã mà bạn cảm thấy sẽ giải quyết vấn đề. Tôi cũng khuyên bạn nên đọc "Cách viết câu trả lời hay" . Vui lòng xem xét các đề xuất này, và chỉnh sửa câu trả lời của bạn cho phù hợp.
Seamus

0

Đối với trường hợp của tôi, có cùng một lỗi, thay thế mô-đun máy ảnh đã sửa nó. Tôi đã có thể tái tạo lỗi một cách đáng tin cậy bằng cách chuyển đổi qua lại giữa các mô-đun máy ảnh tốt và xấu. Mã của tôi không gặp phải vấn đề mà người khác chỉ ra. Vì vậy, có vẻ như vấn đề phần cứng cũng có thể gây ra ngoại lệ này.

Ngoại lệ là:

picamera.exc.picamerammalerror: không thể kích hoạt kết nối: hết tài nguyên

Phiên bản Picamera là 1.13 và mô-đun máy ảnh là v2.1

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.