Làm thế nào tôi có thể tạo một hàm lấy tệp hình ảnh (không phải tên tệp hình ảnh) trong Python. Đơn giản, giống như những điều sau: Show
FaceController.py
Face_Detector.py
Error: 4.1. Chuyển đổi hình ảnh với các chức năng JoTrong một bài học trước, chúng tôi đã sử dụng mã tương tự như sau, làm tăng lượng màu xanh lá cây trong một hình ảnh: Khi chúng tôi học cách vẽ với mô -đun rùa, chúng tôi đã lấy mã cho phép chúng tôi vẽ một hình vuông và chuyển đổi nó thành một chức năng. Theo cách tương tự, chúng ta có thể chuyển đổi mã thao tác hình ảnh của mình thành một hàm và gọi nó bất cứ khi nào chúng ta muốn thao tác với một số hình ảnh. Trong mã được hiển thị bên dưới, tôi đã tạo một hàm có hình ảnh và một số đại diện cho số lượng để thêm vào kênh màu xanh lá cây, sau đó tăng lượng màu xanh lá cây cho mỗi pixel và cuối cùng trả về hình ảnh đã thay đổi. Lưu ý rằng trong hàm, một hình ảnh trống có cùng kích thước với hình ảnh gốc đã được tạo. Sau đó, chúng tôi lặp qua từng pixel trong hình ảnh gốc, trích xuất các giá trị RGB từ mỗi pixel, tăng số lượng trong kênh màu xanh lá cây, sau đó đặt pixel tương ứng trong hình ảnh mới (hình ảnh bắt đầu dưới dạng trống). Bởi vì đây là một hàm hiệu quả (trả về một đối tượng hình ảnh), chúng ta có thể đặt kết quả thành một biến, được gọi là Ghi chú Nếu bạn thích chức năng để kích thích trong khi nó chạy, bạn có thể viết lại chức năng để có một tham số để ImageWin vẽ, như sau: 4.2. Kiểm soát thao tác hình ảnh với Micro: Bit¶Bây giờ chúng tôi có thể tổ chức mã thao tác hình ảnh của mình bằng các chức năng, việc gọi các chức năng thao tác hình ảnh này khi xảy ra một sự kiện cụ thể là đơn giản. Ví dụ: chúng ta có thể muốn gọi hàm Thay vì có nút thứ hai không hoạt động, chúng tôi sẽ thực hiện chức năng thao tác hình ảnh khác khi nhấn nút B. Ví dụ này, tôi đã chọn lấy âm của hình ảnh khi nhấn nút B. Cuối cùng, thật tuyệt khi có một cách để kết thúc chương trình khi chúng ta chơi xong với hình ảnh. Để thực hiện điều này, tôi đã tạo một biến 1. Điều này làm cho vòng lặp thoát ra, kết thúc chương trình của chúng tôi.Trước khi chạy chương trình sau trong Thonny, hãy chắc chắn lưu hình ảnh này trong cùng một thư mục với mã Python của bạn: import image import microbit def increase_green(original_image, amount_of_green_to_add): width = original_image.get_width() height = original_image.get_height() new_image = image.EmptyImage(width, height) for row in range(height): for col in range(width): p = original_image.get_pixel(col, row) new_red = p.get_red() new_green = p.get_green() + amount_of_green_to_add new_blue = p.get_blue() new_pixel = image.Pixel(new_red, new_green, new_blue) new_image.set_pixel(col, row, new_pixel) return new_image def negative(original_image): width = original_image.get_width() height = original_image.get_height() new_image = image.EmptyImage(width, height) for row in range(height): for col in range(width): p = original_image.get_pixel(col, row) new_red = 255 - p.get_red() new_green = 255 - p.get_green() new_blue = 255 - p.get_blue() new_pixel = image.Pixel(new_red, new_green, new_blue) new_image.set_pixel(col, row, new_pixel) return new_image img_file = "sneakers.jpg" img = image.Image(img_file) win = image.ImageWin(img.get_width(), img.get_height()) img.draw(win) still_playing = True while still_playing: if microbit.button_a.was_pressed(): x_tilt = microbit.accelerometer.get_x() converted_img = increase_green(img, x_tilt) converted_img.draw(win) if microbit.button_b.was_pressed(): converted_img = negative(img) converted_img.draw(win) if microbit.accelerometer.get_z() > 0: still_playing = False 4.2.1. Thử cái này¶
4.3. Thực hành các vấn đề hãngĐối với các vấn đề sau, hãy sử dụng một trong những hình ảnh sau: skflag.pngmoon.jpgsneakers.jpgrooster.jpg4.3.1. Chức năng RED RemoverTạo một hàm gọi là 2 thực hiện thao tác hình ảnh và trả về hình ảnh đã thay đổi. Chức năng loại bỏ tất cả các kênh màu đỏ, nhưng để lại số lượng màu xanh lá cây và màu xanh không thay đổi.4.3.2. Lựa chọn của bạn¶Nhìn lại một vài phần cuối cùng, và chọn 2 vấn đề thực hành thao tác hình ảnh. Chuyển đổi chúng thành các chức năng, sau đó kiểm soát chúng bằng micro: bit. Gọi một trong các chức năng này khi nhấn nút A và chức năng khác khi nhấn nút B. Làm thế nào để bạn chèn một hình ảnh vào Python?Làm thế nào để làm nó….. Tạo tệp Python mới và nhập các gói sau: Nhập SYS Nhập CV2 Nhập Numpy dưới dạng NP .. Chỉ định hình ảnh đầu vào là đối số đầu tiên cho tệp và đọc nó bằng hàm đọc hình ảnh. Chúng tôi sẽ sử dụng Forest.jpg, như sau: ... Hiển thị hình ảnh đầu vào, như sau: .... Bây giờ chúng tôi sẽ cắt hình ảnh này .. Làm thế nào để Python chuyển các đối tượng cho các chức năng?Python chuyển các đối số bằng cách chuyển nhượng.Đó là, khi bạn gọi hàm Python, mỗi đối số hàm trở thành một biến mà giá trị truyền được gán ... Nếu một đối tượng đại diện cho giá trị 2 đã tồn tại, thì nó được truy xuất..... Bộ đếm tham chiếu của đối tượng này được tăng lên .. Làm cách nào để lấy một hình ảnh trong Python?Hiển thị một hình ảnh trong Python.. Sử dụng mô -đun PIL để hiển thị hình ảnh trong Python .. Sử dụng mô -đun OpenCV để hiển thị hình ảnh trong Python .. Sử dụng ipython.display để hiển thị hình ảnh trong Python .. Sử dụng thư viện matplotlib để hiển thị hình ảnh trong Python .. Làm thế nào để bạn trả lại một hình ảnh từ một hàm trong Python?Nếu bạn muốn hình ảnh byte: Với Open ("FilePath/FileName", "RB") dưới dạng f: Image = f.Read () Return Image nhưng bạn có thể không biết phải làm gì với điều đó.Có một thư viện có tên là Gối xử lý tốt hình ảnh, bạn sẽ muốn: từ PIL Nhập hình ảnh DEF (ImagePath): IMG = Image.open("filepath/filename","rb") as f: image=f. read() return image But you might not know what to do with that. There is a library called Pillow which handles images well, you'll want to : from PIL import Image def function(imagePath): img=Image. |