2012-04-11 42 views
20

Tôi đang cố gắng tìm hiểu opencv nhưng nó rất khó hiểu. Ai đó có thể biết sự khác biệt giữa imagedepth và không. các kênh trong một hình ảnh. Giả sử chiều sâu hình ảnh là 8 và không. của các kênh R, G, B là 3. Sau đó, nó có nghĩa gì, tôi gặp khó khăn khi hình dung cấu trúc 3dsự khác biệt giữa độ sâu hình ảnh và kênh

Trả lời

3

Độ sâu hình ảnh là độ dài của loại dữ liệu thực tế được sử dụng để lưu trữ hình ảnh (integer, char, float). Trong trường hợp của bạn, có vẻ như là char hoặc unsigned char độ sâu là 8 bit.

Số kênh là một số số, mô tả màu của pixel cụ thể (ví dụ: RGB - 3 kênh).

6

Độ sâu hình ảnh có nghĩa là phạm vi giá trị mà mỗi kênh có thể có. Nếu bạn có độ sâu kênh, ví dụ: 8 bit (unsigned char) một kênh có thể có giá trị từ 0 - 255. RGB nghĩa 3 kênh, một cho R giá trị ed, một cho một cho G giá trị reen và một cho B giá trị lue.

22

Độ sâu (hoặc độ sâu màu tốt hơn) là số bit được sử dụng để biểu thị giá trị màu. Tôi không thực sự vào OpenCV, nhưng độ sâu màu 8 thường là nghĩa là 8 bit trên mỗi kênh (vì vậy bạn có 256 giá trị màu - hoặc tốt hơn: sắc thái xám (xem nhận xét) - mỗi kênh - từ 0 đến 255) và 3 kênh có nghĩa là sau đó một giá trị pixel bao gồm 3 * 8 = 24 bit.

Tuy nhiên, điều này cũng phụ thuộc vào danh pháp. Thông thường, bạn sẽ nói

"Độ sâu màu 8-bit cho mỗi kênh"

nhưng bạn cũng có thể nói

"Độ sâu màu sắc của hình ảnh là 32-bit"

và sau đó có nghĩa là 8 bit trên mỗi kênh RGBA hoặc

"Hình ảnh có độ sâu màu 24 bit"

và có nghĩa là 8 bit cho mỗi kênh R, G và B.

mấu chốt: Tài liệu (hoặc từ ngữ) đã được khá cụ thể ở đây ;-)

+0

chính xác có 256 giá trị màu (hoặc màu xám tốt hơn) từ 0 đến 255 .. –

+0

oh yeah thats true - tôi đã bị mắc kẹt bởi từ ngữ. sẽ chỉnh sửa điều đó. –

8

Theo OpenCV documentation, sâu OpenCV được định nghĩa là số bit của một kênh riêng biệt. Vì vậy, nếu bạn có độ sâu 8 bit và 3 kênh, điều đó có nghĩa là bạn có 24 bit cho mỗi pixel hình ảnh

+1

tôi hiểu rồi, thanx cho bình luận của bạn – leonidus

7

Thực hiện theo cách này.

Bạn có một hình ảnh chỉ có một pixel duy nhất trong đó. SIZE của hình ảnh là 1x1 pixel.

  • Nếu đây là hình ảnh có thang màu xám, thì chỉ cần một kênh SINGLE để đại diện cho hình ảnh. Làm sao? Bởi vì một hình ảnh màu xám (giả định một hình ảnh 8-bit) sẽ có 8 bit đó là 2 nâng lên sức mạnh 8 whjch là 256 SHADES khác nhau. Từ đen sang trắng.Gray scale
  • Tỷ lệ màu xám thường là hình ảnh đen trắng.
  • Bây giờ nếu cùng một ảnh pixel đơn được làm bằng màu sắc, thì chúng ta cần ba kênh, cụ thể là Đỏ, Xanh lục và Xanh lam hoặc RGB. Khi chúng ta trộn các sắc thái của các kênh này, chúng ta sẽ có các màu khác nhau.
  • Giống như, (255,255,255) là màu trắng tinh khiết trong RGB và (0,0,0) là màu đen tinh khiết
  • Vì vậy, bây giờ mỗi kênh sẽ có màu từ 0-255 là 8 bit.
  • Kết quả là hình ảnh màu có độ sâu 8-bit và số kênh là 3.
  • Bạn có thể có nhiều hơn 8 bit cho mỗi kênh, điều này làm tăng các dãy màu (màu)
  • Đối với hình ảnh 1x1 pixel , giá trị màu pixel sẽ nằm trong khoảng 0-255 mỗi kênh. Đó là [0 to 255 in R][0 to 255 in G][0 to 255 in B]
Các vấn đề liên quan