2013-03-27 48 views
6

Tôi cần một cách để biến đổi hình ảnh chứa con người thành hình ảnh chỉ chứa sihlouette cơ thể bằng một màu. Đầu tiên tôi đã xem xét máy dò cạnh Canny (triển khai OpenCV), nhưng điều này có thể dẫn đến các vấn đề với nền của hình ảnh.Phân đoạn hình ảnh cho iOS

Tôi đã thử với triển khai GrabCut OpenCV. Điều này làm việc tốt trong hầu hết các trường hợp, bit nó có hiệu suất thời gian cực kỳ xấu, ví dụ cho hình ảnh 480x320 phải mất đến 1 phút để xử lý. Ngoài ra vấn đề với grabcut là người dùng cần phải thực hiện tương tác và để thiết lập khu vực nền và khu vực người dùng, mà trong trường hợp của tôi là không được phép. Vì vậy, có lẽ bạn có thể cho tôi ý tưởng về một số cách tiếp cận khác bằng cách sử dụng một cái gì đó khác với GrabCut, hoặc đề nghị tôi làm thế nào để nâng cao hiệu suất thời gian GrabBut (Có thể thực hiện gpu). Ngoài ra tôi cần một gợi ý về thuật toán mà sẽ xác định vị trí cơ thể con người, và giúp thuật toán grabcut với vị trí của cơ thể/khu vực nền.

Ví dụ:

Example

+1

Câu hỏi này là mơ hồ và thiếu chi tiết và có thể sẽ bị đóng nếu không phải vì tiền thưởng mở. Bạn đã thực sự thử cái gì? Một bên thứ ba? Thực hiện của riêng bạn? v.v. Giúp chúng tôi giúp bạn. –

+0

Tôi nghĩ rằng một tổng quan ngắn gọn về grabcut sẽ giúp; ví dụ. nó sẽ giúp những người trong chúng ta không quen thuộc với nó bình luận về việc đó có phải là một kết hợp tốt cho GCD parallelisation hay GPU hay bất kỳ khung Core Image nào, cho dù có bất kỳ thư viện bên thứ ba nào có thể thực hiện bất kỳ công việc nào bạn ... – Tommy

+0

Ít nhất hãy cho chúng tôi một hoặc nhiều hình ảnh đầu vào những gì bạn đang cố gắng làm, loại hình ảnh bạn đang nhắm mục tiêu – shernshiou

Trả lời

5

có thể đề nghị hai điều để điều tra xem có thể giúp:

1) CIDetector lớp

2) OpenCV library for iOS. Dự án này không hoạt động, nhưng bạn có thể tìm thấy một số dĩa hoặc dự án liên quan here.

0

OpenCV sẽ là một lựa chọn tốt cho những thứ tương tự. Bạn có thể nhận được một thư viện được xây dựng trước cho ios trên trang web chính thức:

http://opencv.org/

Và đó cũng là một Hướng dẫn ứng dụng sử dụng OpenCV, mà có thể có một khả năng tương tự như những gì bạn đang tìm kiếm:

http://computer-vision-talks.com/

1

thu hẹp hình ảnh bằng một nửa độ phân giải (sử dụng pyrDown()), chạy GrabCut, phát hiện sử dụng đường viền để vectorize sự cắt ra, và cao cấp khi cần thiết.

Các vấn đề liên quan