2012-06-10 43 views
10

Tôi đang cố gắng đọc hình ảnh màu xám 16 bit bằng cách sử dụng OpenCV 2.4 bằng Python, nhưng có vẻ như đang tải nó dưới dạng 8 bit.OpenCV - Đọc hình ảnh màu xám 16 bit

tôi đang làm:

im = cv2.imread(path,0) 
print im 

[[25 25 28 ..., 0 0 0] 
[ 0 0 0 ..., 0 0 0] 
[ 0 0 0 ..., 0 0 0] 
..., 

Làm thế nào để có được nó như 16 bit?

Trả lời

14

Đã tìm ra. Trong trường hợp bất kỳ ai khác gặp sự cố này:

im = cv2.imread(path,-1) 

Đặt cờ thành 0, để tải như thang độ xám có vẻ mặc định là 8 bit. Đặt thành -1 tải hình ảnh "nguyên trạng".

2

Tôi gặp sự cố tương tự (tải xuống 16 bit .tif dưới dạng 8 bit sử dụng cv2.imread). Tuy nhiên, việc sử dụng cờ -1 không giúp được gì. Thay vào đó, tôi đã có thể tải hình ảnh 16-bit bằng cách sử dụng gói tifffile.

2

Để cải thiện khả năng đọc sử dụng cờ cv2.IMREAD_ANYDEPTH

image = cv2.imread(path, cv2.IMREAD_ANYDEPTH) 
Các vấn đề liên quan