Từ RGB Sang Đa Mức Xám (Grayscale) | Trần Tri's Blog

Trần Tri's Blog

Kết nối công nghê – Theo đuổi đam mê RSS [Windows 8] How to share Internet connection with your phone, tablet, other computers, and other devices (aka how to setup hosted network) Hướng dẫn cài android 4.0 trên máy ảo của windowns

Từ RGB sang Đa mức xám (Grayscale)

14 Th9 Đơn vị cơ bản của một bức ảnh là điểm ảnh (pixel), mỗi điểm ảnh có thể được biểu diễn bằng n bytes dưới các hệ màu khác nhau. Việc chuyển đổi giữa các hệ màu thông thường được thực hiện thông qua các phép biến đổi ma trận. Trong bài viết này tôi sẽ giới thiệu phương thức chuyển đổi từ ảnh 24 bits RGB sang ảnh 8bits đa mức xám. Để thực hiện yêu cầu trên, thông thường ta sử dụng một trong những công thức sau đây, áp dụng cho từng điểm ảnh [x, y]:   Ix, y  = 0.3086 * Redx, y + 0.6094 * Greenx, y + 0.0820 * Bluex, y Ix, y = 0.299 * Redx, y + 0.587 * Greenx, y + 0.114 * Bluex, y Chú ý rằng giá trị mỗi điểm ảnh Ix,y hay còn gọi là cường độ sáng (Luminance Intensity) trong ảnh đa mức xám tính được là tổng trọng số khác nhau của mỗi thành phần màu trong hệ màu RGB. Một trong những lý do của việc này là nếu chúng ta sử dụng cùng trọng số, ví dụ (R + G + B) / 3 thì màu đỏ, màu xanh nước biển hay màu xanh da trời sẽ có cùng mức xám sau khi chuyển đổi. Mặt khác theo khoa học đã chứng minh thì mắt người nhạy cảm hơn với thành phần màu xanh lá cây và màu đỏ so với xanh da trời. Việc triển khai trong C/C++ của công thức trên khá đơn giản như sau với một ảnh có định dạng điểm ảnh liên tục (interleaved color) RGBRGB: for ( i = 0; i < imgSize; i += 3 ) {         out[i] = (unsigned char)(0.299*in[i] + 0.587*in[i+1] + 0.114*in[i+2] + 0.5); } Vì việc thực hiện phép nhân trong miền số nguyên thì nhanh hơn rất nhiều trong miền số thực nên công thức trên được viết lại trong miền số nguyên như sau: Ix, y = ( 2 * Redx, y + 5 * Greenx, y + 1 * Bluex, y ) / 8  Cộng với việc thay thế các phép chia và nhân bằng toán tử shift tốc độ của quá trình tính toán sẽ được đẩy lên một cách hiệu quả. Dưới đây là mã nguồn cho quá trình nâng cấp này: int iTmp; for ( i = 0; i < imgSize; i += 3 ) {         iTmp = in[i] << 1;                        iTmp += in[i+1] << 2 + in[i+1];           iTmp += in[i+2];                          out[i] = (unsigned char)(iTmp>> 3);  } Và hãy cùng ngắm người đẹp lena trong kết quả Để hiểu sâu hơn về tối ưu và phương pháp ánh xạ giữa các miền số học vui lòng xem thêm các bài viết trong mục kỹ thuật triển khai.

Lưu ý: trong thực hành, không phải lúc nào thứ tự của 3 bytes trong 1 điểm ảnh cũng là R – G – B, đôi khi thứ tự này có thể là B – G – R. Binh Nguyen – Bioz Thích Đang tải...

Có liên quan

Bình luận về bài viết này

Được đăng bởi trantri2006 trên Tháng Chín 14, 2014 in Image Processing & Computer Vision

[Windows 8] How to share Internet connection with your phone, tablet, other computers, and other devices (aka how to setup hosted network) Hướng dẫn cài android 4.0 trên máy ảo của windowns

Bình luận về bài viết này Hủy trả lời

Δ

  • Tìm
  • Bài viết mới

    • Privacy Policy for Tuổi học trò
    • Privacy Policy for Thánh Troll hỏi xoáy
    • Privacy Policy for English Testing
    • Privacy Policy for Compass
    • Privacy Policy for TOEIC – PART V
  • Bình luận mới nhất

  • Thư viện

    • Tháng Chín 2018
    • Tháng Mười 2014
    • Tháng Chín 2014
    • Tháng Tám 2014
    • Tháng Mười 2013
    • Tháng Chín 2013
    • Tháng Năm 2013
  • Chuyên mục

    • Android
    • C / C++ / MFC
    • C# / .Net
    • Image Processing & Computer Vision
    • Java
    • Private
    • Relax
    • Research & Collection
    • Web ASP .net
    • Web PHP
  • Meta

    • Tạo tài khoản
    • Đăng nhập
    • RSS bài viết
    • RSS bình luận
    • WordPress.com

Tạo một blog miễn phí với WordPress.com.

Entries (RSS) và Comments (RSS)

  • Bình luận
  • Đăng lại
  • Theo dõi Đã theo dõi
    • Trần Tri's Blog
    • Theo dõi ngay
    • Đã có tài khoản WordPress.com? Đăng nhập.
    • Trần Tri's Blog
    • Theo dõi Đã theo dõi
    • Đăng ký
    • Đăng nhập
    • URL rút gọn
    • Báo cáo nội dung
    • Xem toàn bộ bài viết
    • Quản lý theo dõi
    • Ẩn menu
%d Tạo trang giống vầy với WordPress.comHãy bắt đầu

Từ khóa » Chuyển ảnh Rgb Sang Gray