Bây giờ, trước khi đọc toàn bộ hướng dẫn này, tôi muốn các bạn trả lời câu hỏi này trong phần bình luận, theo cách đó bạn có thể giao việc cho bộ não của mình. Dù sao, đối với những bạn chưa bao giờ trả lời câu hỏi hoặc không biết câu trả lời, bằng cách đọc bài viết này, cuối cùng bạn có thể trả lời câu hỏi mà không do dự. Đủ sự cường điệu này, hãy bắt đầu. Nhân tiện, toàn bộ mã cho hướng dẫn này cũng có thể được tìm thấy trên Kho lưu trữ GitHub của tôi bên dưới Show
Tanu-N-Prabhu/TrănPermalink Dismiss GitHub là nơi có hơn 50 triệu nhà phát triển làm việc cùng nhau để lưu trữ và xem xét mã, quản lý…github. com Câu chuyện Ảnh của Pixabay từ PexelsTôi đã được giao một bài tập trong Lớp xử lý hình ảnh (Cao học), trong đó tôi phải đọc một hình ảnh thô từ một tệp, thay đổi kích thước hình ảnh đó thành các kích thước được chỉ định bằng cách sử dụng thuật toán lấy mẫu lại điểm đơn và lấy mẫu lại trung bình có trọng số. Có một ghi chú được gửi cho tôi nói rằng "Không sử dụng bất kỳ thư viện bên ngoài nào" cho các chương trình của bạn, đặc biệt là để đọc và lưu hình ảnh. Chỉ các thuật toán được chọn mới được phép sử dụng một thuật toán như vậy trong python là # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels0. Điều này rất đau đớn khi nghe, nhưng dù sao thì tôi cũng phải làm và tôi đã làm được. Trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào đọc và lưu hình ảnh và không có gì lạ mắt Câu hỏi Viết chương trình đọc một hình ảnh thang độ xám ở định dạng thô từ một tệp và lưu hình ảnh mới vào một tệp mới ở định dạng thô. (Tôi chỉ đặt câu hỏi ngắn gọn vì đây là nội dung bạn sẽ học hôm nay) Nguồn hình ảnhDưới đây là nguồn cho hình ảnh 8 bit thang độ xám. Tôi sẽ sử dụng hình ảnh mẫu thứ 4 “Barbara, 8 bit grey (512 x 512). thô”. Liên kết cho các hình ảnh mẫu khác có thể được tìm thấy ở đây Sử dụng thư viện Như tôi đã nói, tôi sẽ không sử dụng bất kỳ thư viện đặc biệt nào của python. Một số thư viện xu hướng và được sử dụng rộng rãi nhất trong lĩnh vực Xử lý ảnh là
Phần thú vị ở đây là chỉ bằng cách sử dụng các thư viện OpenCV, PIL và Matplotlib, chúng ta có thể đọc và lưu hình ảnh vào một tệp chỉ trong hai dòng mã. Nhưng vấn đề ở đây là không sử dụng các thư viện đặc biệt và các phương thức đặc biệt. Numpy là thư viện tiêu chuẩn duy nhất sẽ được sử dụng xuyên suốt (bạn sẽ biết tại sao) Mã số Khoảnh khắc mà tất cả các bạn đã chờ đợi Nhập thư việnLý do duy nhất mà thư viện # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels0 được sử dụng là để chuyển đổi hình ảnh thô thành một mảng pixel. Chủ yếu được sử dụng để lưu trữ các giá trị trong một mảng # Necessary library used for this tutorial Khởi tạo giá trị hàng và cột cho hình ảnhKích thước của hình ảnh được tạo thành từ các hàng và cột # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels Mở tệp hình ảnh đầu vào (định dạng RAW)# Opening the input image (RAW) Điều này sẽ nhắc đầu ra là <_io.TextIOWrapper name='barbara_gray.raw' mode='r' encoding='UTF-8'> Bây giờ, chúng ta cần xây dựng một mảng 2D từ dữ liệu thô (hình ảnh). Phải sử dụng một cách hiệu quả cao để đọc dữ liệu nhị phân với kiểu dữ liệu đã biết, điều này có thể được thực hiện với sự trợ giúp của thư viện # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels0 Đang tải hình ảnh đầu vàoĐây là nơi niềm vui thực sự bắt đầu. Cảm ơn # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels0________số 8_______ Khi thực hiện điều này, bạn sẽ nhận được .. Load input image Chuyển đổi từ mảng 1D sang mảng 2DCó một cách để chúng ta có thể chuyển mảng 1D sang mảng 2D chẳng hạn như chia sàn tổng số pixel với hàng và cột của ảnh hoặc cột và cột (cũng được). Điều này có thể được viết với sự giúp đỡ của một công thức # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels4 tp = tổng số pixel; . Lý do chúng tôi sử dụng phép chia sàn thay vì phép chia vì chúng tôi cần làm tròn các giá trị dưới dạng số nguyên # Conversion from 1D to 2D array Khi thực hiện điều này, bạn sẽ nhận được New dimension of the array: 2 Lưu hình ảnh mới vào một tệp mới ở định dạng thô# Save the output image Đây là cách bạn lưu hình ảnh mới ở định dạng thô. Điều này sẽ được lưu trong hệ thống cục bộ của bạn .. Save the output image
đầu ra Khi thực hiện thành công đoạn mã trên, bây giờ bạn có thể đọc hình ảnh thô và sau đó lưu hình ảnh thô. vâng. Bây giờ nếu bạn không tin tôi, bạn có thể mở hình ảnh đã lưu bằng một số công cụ mở hình ảnh trực tuyến (hoặc bất kỳ công cụ nào). Tôi thường sử dụng photopea, và đây là những gì tôi nhận được Ảnh của Tanu Nanda PrabhuXin lưu ý, phía trên là ảnh chụp màn hình đầu ra cùng với công cụ, hình ảnh đầu ra chính là thang độ xám có tên là “Barbara” (một người phụ nữ giơ một tay lên hoặc đại loại như vậy) Phần kết luận Trước khi rời đi, hãy thử đọc ảnh với các định dạng khác như JPEG (JPG), PNG và xem bạn nhận được giá trị nào. Ngoài ra, hãy thử đọc một hình ảnh màu (RGB). Dù sao, bây giờ bạn có thể dễ dàng trả lời câu hỏi trên khi bắt đầu hướng dẫn. Để tôi nhắc bạn lần nữa. “Hình ảnh được tạo thành từ cái gì?”. Câu trả lời như các bạn đã thấy, “Hình ảnh được tạo thành từ một mảng các giá trị pixel”. Số lượng giá trị phụ thuộc vào các hàng và cột của hình ảnh đã cho Đó là tất cả cho ngày hôm nay, tôi hy vọng các bạn thích đọc hướng dẫn “Đọc một hình ảnh bằng Python (Không sử dụng các thư viện đặc biệt)”. Như đã hứa, tôi không sử dụng bất kỳ thư viện nào khác ngoài # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels0. Chà, duh. bạn cần sử dụng # For example a particular image in this case would contain (512*512) rows and columns meaning 262,144 pixels0 để xử lý mảng. Nếu các bạn có bất kỳ nhận xét hoặc thắc mắc nào về hướng dẫn, hãy cho tôi biết trong phần bình luận bên dưới. Cho đến lúc đó tạm biệt, giữ an toàn. ) Làm cách nào để đọc các giá trị hình ảnh trong Python?Quy trình trích xuất là. . nhập mô-đun Hình ảnh của PIL vào trình bao. >>> từ hình ảnh nhập PIL tạo một đối tượng hình ảnh và mở hình ảnh ở chế độ đọc. >>> im = Hình ảnh. mở ('tệp của tôi. png', 'r'). chúng tôi sử dụng một chức năng của mô-đun Hình ảnh được gọi là getdata () để trích xuất các giá trị pixel Chúng ta có thể đọc hình ảnh bằng Python không?Sử dụng ImageIO. Imageio là thư viện Python cung cấp giao diện dễ đọc và ghi nhiều loại dữ liệu hình ảnh , bao gồm hình ảnh động, video, dữ liệu thể tích và dữ liệu khoa học . Nó là đa nền tảng, chạy trên Python 3. 7+ và rất dễ cài đặt.
Làm cách nào để đọc tên hình ảnh trong Python?Các hàm mô-đun hình ảnh trong Python
. Nếu hình ảnh không được mở bằng hàm 'open()', nó sẽ trả về chuỗi null. Hình ảnh. định dạng – Chức năng này được sử dụng để lấy định dạng tệp của hình ảnh như JPEG/JPG, PNG, GIF, v.v. filename – This function is used to get the file name or the path of the image. If the image is not opened using 'open()' function it returns the null string. Image. format – This function is used to get the file format of the image like JPEG/JPG, PNG, GIF, etc. |