2011-01-20 32 views
7

Tôi muốn điều chỉnh độ phơi sáng của camera iPhone/iPod touch với chi tiết thân mật. Tôi muốn chụp một loạt ảnh có thời gian phơi sáng giảm để có được một chuỗi hình ảnh (để tái tạo lại HDR). Điều này có thể không?Thời gian phơi sáng có thể được điều chỉnh theo cách thủ công cho máy ảnh iOS không?

Nếu không, điều tốt nhất tiếp theo là gì? Có vẻ như bạn có thể đặt một điểm quan tâm trong hình ảnh để tự động phơi sáng. Có lẽ tôi có thể tìm kiếm vùng tối/ánh sáng của hình ảnh và sau đó sử dụng exposurePointOfInterest này để điều chỉnh độ phơi sáng, nhưng điều này có vẻ như một giải pháp rất gián tiếp cũng dễ bị lỗi. Nếu ai đó đã thử một giải pháp thay thế, câu trả lời như vậy cũng là điều mong muốn.

+0

Tôi sẽ để nguyên trạng thái này để kết thúc trong trường hợp ai đó có phương tiện thiết lập thời gian phơi sáng, bất kể nguyên tắc của Apple. – gonzojive

+0

Bạn có thể làm điều này với các API riêng trong iOS 6, ít nhất. Hy vọng rằng họ sẽ được công khai trong bản phát hành tiếp theo. Hãy xem câu trả lời chi tiết của tôi tại đây: http://www.stackoverflow.com/a/12939981/83853 –

Trả lời

2

Vì bạn sẽ phải giảm tốc độ màn trập của máy ảnh, điều này không may không xuất hiện để có thể, và quan trọng hơn, so với HIG:

Thay đổi hành vi của phần cứng bên ngoài iPhone vi phạm Thỏa thuận cấp phép chương trình dành cho nhà phát triển iPhone. Ứng dụng phải tuân thủ Nguyên tắc Human Interface iPhone như được nêu trong iPhone Developer Program Giấy phép Hiệp định phần 3.3.7

liên quan bài viết Apple Removes Camera+ iPhone App From The App Store After Developer Reveals Hack To Enable Hidden Feature.

Nếu nó có thể được thực hiện theo chương trình, thay vì với phần cứng, bạn có thể có cơ hội, nhưng sau đó nó chỉ là một hiệu ứng trên một hình ảnh, không phải là một hình ảnh tiếp xúc thật dài.

Có một số mô phỏng ứng dụng chụp chậm được chấp thuận như Slow Shutter hoặc Magic Shutter.

Bài viết liên quan: New iPhone Camera App “Magic Shutter” Hits The App Store.

0

Tôi không quá chắc chắn, nhưng bạn nên cố gắng sử dụng lớp AVFoundation để xây dựng các ứng dụng máy ảnh, sau mẫu mã của táo: AVCam Sample Code

Và sau đó cố gắng tận dụng tài sản exposureMode của Class:

exposureMode Class Reference

1

Tôi đã cố gắng làm điều này cho ứng dụng máy ảnh kích hoạt chuyển động của tôi (Pocket Sentry) và tôi thấy rằng không thể thực hiện điều này VÀ được chấp thuận trong cửa hàng ứng dụng.

+1

Bạn đã thực hiện thành công câu trả lời chưa? Nó chỉ dành cho một dự án sở thích và không cần phải được chấp nhận trong cửa hàng ứng dụng. – gonzojive

1

Tôi đã cố tự làm điều này. Tôi nghĩ rằng nó có thể chỉ bằng cách sử dụng các điểm tiếp xúc của tài sản quan tâm. Tôi đang phát hiện các điểm tối và sáng và sau đó điều chỉnh điểm cho phù hợp.

Vui lòng tham khảo: Detecting bright/dark points on iPhone screen

Có ai biết cách tốt hơn để làm điều này không?

4

Như iOS cung cấp cho kiểm soát khoảng thời gian khung bởi MinFrameDuration MaxFrameDuration

kể từ thời gian phơi sáng khác nhau dựa trên tỷ lệ fram và khung thời gian Bằng cách đặt min và tốc độ khung hình tối đa đến một giá trị đặc biệt Bạn sẽ được khóa fram tỷ lệ. Điều đó sẽ ảnh hưởng đến thời gian phơi sáng của bạn. Đây cũng là cách rất gián tiếp kiểm soát, có thể là nó giúp trường hợp của bạn

một số ví dụ sẽ là như thế này:

if (conn.isVideoMinFrameDurationSupported) 
    conn.videoMinFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND); 
if (conn.isVideoMaxFrameDurationSupported) 
    conn.videoMaxFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND); 
Các vấn đề liên quan