Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: convert ảnh đen trắng tuyệt đối trong C#

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    8

    Mặc định convert ảnh đen trắng tuyệt đối trong C#

    Hi all
    Mình đang cần các ảnh trắng đen tuyệt đối nghĩa là RGB=(0,0,0) và RGB(255,255,255)
    Mình kiếm trên mạng mà ko ra, các bạn có biết download ở đâu ko?

  2. #2
    Ngày gia nhập
    08 2009
    Nơi ở
    TP Cần Thơ - Lộ 91B
    Bài viết
    212

    - Quy trình chuyển thế này : Ảnh Màu -> Ảnh Mức Xám -> Ảnh Nhị Phân ( trắng đen )
    - Để chuyển về mức xám thì lấy các giá trị R G B nhân lần lượt cho các hằng số : 0.2989 ; 0.5870 ; 0.1140 .
    - Bạn có thể chuyển về ảnh mức xám bằng cách lấy giá trị trung bình của 1 điểm ảnh (RGB) để làm giá trị chung. Nhưng nó sẽ làm sai lệch chúc ít về ảnh mức xám. Vì thế việc nhân cho các hằng số là điều mà ngày nay người ta hay dùng.
    - Khi có ảnh mức xám rồi thì bạn kiểm tra giá trị tại điểm ảnh đang xét nếu lớn hơn ngưỡng xám thì cho giá trị tại đó là 255 ngược lại là 0
    - Ngưỡng xám là giá trị bạn dùng để lọc các điểm ảnh thông thường người ta sử dụng ngưỡng xám là 128. Bạn cũng có thể tự cho giá trị ngưỡng xám bao nhiêu tùy bạn.
    - Xem Code mình ví dụ ở dưới
    Code:
    public Bitmap ConvertToBinaryImage ( Image image, int Target ){ //-- Target là ngưỡng xám
                Bitmap org = new Bitmap(image.Image, image.Image.Width, image.Image.Height);
                Bitmap result = new Bitmap(org.Width, org.Height);
                for (int i = 0; i < org.Width; i++)
                {
                    for (int j = 0; j < org.Height; j++)
                    {
                        Color curColor = org.GetPixel(i, j);
    
                        //-- Lấy giá trị mức xám
                        int desColor = Convert.ToInt32((curColor.R * 0.2989) + (curColor.G * 0.5870) + (curColor.B * 0.1140));
    
                        //-- Kiểm tra giá trị màu với ngưỡng xám
                        if (desColor < Target) desColor = 0;
                        else desColor = 255;
    
                        result.SetPixel(i, j, Color.FromArgb(255, desColor, desColor, desColor));
                    }
                }
                return result ;
    }

    PHÁT TRIỂN PHẦN MỀM HỖ TRỢ CÔNG VIỆC
    ỨNG DỤNG QUẢN LÝ CHO DOANH NGHIỆP VỪA VÀ NHỎ

    (0969.867.490 - ltnghia.wins@gmail.com)

Các đề tài tương tự

  1. Tất cả các kiểu convert trong C#
    Gửi bởi Xcross87 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 19
    Bài viết cuối: 13-03-2014, 11:23 PM
  2. Trả lời: 2
    Bài viết cuối: 13-04-2012, 08:14 AM
  3. Lỗi convert từ * qua char [20].(Hoặc lỗi convert các kiểu)Mình rất hay bị lỗi này
    Gửi bởi kuhoang0512 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 5
    Bài viết cuối: 07-11-2011, 08:20 PM
  4. Lỗi: cannot convert 'int *' to 'int' trong C?
    Gửi bởi hanhsl trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 27-02-2011, 02:32 PM
  5. Lỗi Cannot implicitly convert type khi Convert Array to List trong WCF ???
    Gửi bởi dangbk trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 26-09-2010, 05:43 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn