Dalam era digital, memanipulasi imej dan mencipta kesan artistik telah menjadi amalan biasa. Kesan yang menarik ialah menjana teks bertitik daripada imej. Proses ini melibatkan penukaran piksel imej kepada corak titik, mewujudkan perwakilan visual yang menarik bagi teks.
Dalam catatan blog ini, kami akan meneroka cara mencipta skrip Python yang boleh menjana teks bertitik dan garis daripada mana-mana imej yang diberikan. Dengan memanfaatkan kuasa Python dan beberapa perpustakaan yang hebat, kami boleh mengautomasikan proses dan menjana kesan teks bertitik yang menakjubkan dengan mudah.
Sebelum kita bermula, mari luangkan masa untuk memahami apa itu teks bertitik dan sebab ia boleh menjadi kesan visual yang menarik. Teks bertitik ialah teknik yang menggantikan piksel imej dengan titik, membentuk bentuk dan garis besar teks asal.
Kesan ini mencipta perwakilan visual teks yang unik dan menarik perhatian, mengingatkan corak halftone. Ia menambahkan sentuhan yang suka bermain dan artistik pada imej, menjadikannya menarik dan menarik secara visual.
Proses menjana teks bertitik melibatkan penukaran imej kepada skala kelabu, menentukan ketumpatan titik berdasarkan nilai pikselnya dan meletakkan titik secara strategik untuk mewakili teks. Hasilnya ialah transformasi imej yang memukau, di mana titik membentuk garis besar dan tekstur teks.
Untuk menjana teks bertitik daripada imej, kami akan menggunakan Python dan beberapa perpustakaan yang menyediakan fungsi pemprosesan imej. Secara khusus, kami akan memanfaatkan perpustakaan berikut -
PIL (Python Image Library) − Perpustakaan pemprosesan dan manipulasi imej yang berkuasa.
NumPy− Perpustakaan untuk operasi berangka yang cekap, kami akan menggunakannya untuk melaksanakan operasi tatasusunan.
Matplotlib− Perpustakaan merancang yang akan membantu kami menggambarkan teks bertitik dan garis yang dijana.
Mari kita pasang perpustakaan yang diperlukan dahulu. Buka terminal atau command prompt dan jalankan arahan berikut −
pip install Pillow numpy matplotlib
Selepas memasang perpustakaan, kita boleh mula melaksanakan skrip. Cipta fail Python baharu, contohnya dotted_text_generator.py, kemudian kami mula-mula mengimport modul yang diperlukan −< /p>
from PIL import Image, ImageDraw import numpy as np import matplotlib.pyplot as plt
Seterusnya, kita perlu menentukan fungsi yang mengambil laluan fail imej sebagai input dan menjana teks bertitik. Kami namakan fungsi ini generate_dotted_text −
def generate_dotted_text(image_path): # Load the image using PIL image = Image.open(image_path).convert("L") # Convert the image to a NumPy array image_array = np.array(image) # Perform necessary operations to generate dotted text # Create a new image for the dotted text dotted_text_image = Image.new("L", image.size) # Convert the dotted text image back to PIL format dotted_text_image_pil = Image.fromarray(dotted_text_image) # Save the dotted text image dotted_text_image_pil.save("dotted_text.png") # Display the original image and the generated dotted text fig, axes = plt.subplots(1, 2) axes[0].imshow(image, cmap="gray") axes[0].set_title("Original Image") axes[0].axis("off") axes[1].imshow(dotted_text_image, cmap="gray") axes[1].set_title("Dotted Text") axes[1].axis("off") plt.show()
Dalam coretan kod ini, kami menggunakan PIL untuk memuatkan imej dan menukarnya kepada skala kelabu menggunakan kaedah Convert("L"). Kami kemudian menukar imej kepada tatasusunan NumPy untuk pemprosesan yang cekap. Pelaksanaan sebenar penjanaan teks bertitik ditiadakan di sini untuk kepentingan ringkas, tetapi ia biasanya melibatkan menganalisis nilai piksel, menentukan lokasi titik dan mencipta imej teks bertitik.
Selepas menjana teks bertitik, kami menggunakan Image.new() untuk mencipta imej baharu dan menukarkannya semula kepada format PIL. Kami menyimpan imej teks bertitik sebagai "teks_bertitik.png". Akhir sekali, kami menggunakan Matplotlib untuk memaparkan imej asal dan teks bertitik yang dihasilkan bersebelahan untuk perbandingan.
Untuk menggunakan fungsi generate_dotted_text, kita boleh memanggilnya dengan laluan fail imej input −
generate_dotted_text("input_image.png")
Pastikan untuk menggantikan "input_image.png" dengan laluan sebenar ke fail imej. Apabila anda menjalankan skrip, ia menghasilkan imej teks bertitik dan menggunakan Matplotlib untuk memaparkannya bersama-sama dengan imej asal.
Dalam bahagian seterusnya, kami akan memberikan beberapa petua dan idea tambahan untuk mempertingkat dan menyesuaikan penjanaan teks titik.
Pelaksanaan asas skrip Python yang menjana teks titik daripada imej ialah titik permulaan yang baik. Walau bagaimanapun, terdapat banyak cara untuk meningkatkan dan menyesuaikan skrip untuk memenuhi keperluan khusus anda. Mari terokai beberapa kemungkinan -
Pemilihan Fon − Secara lalai, skrip menggunakan titik mudah sebagai penanda untuk teks bertitik. Walau bagaimanapun, anda boleh menyesuaikan penanda dengan menggunakan aksara atau simbol Unikod yang berbeza. Modul ImageDraw PIL menyediakan pelbagai kaedah untuk melukis bentuk, garisan dan teks. Anda boleh mencuba dengan penanda dan gaya fon yang berbeza untuk mencipta teks bertitik yang menarik secara visual.
Mewarna− Anda boleh menambah warna pada teks bertitik dengan mengubah suai skrip dan bukannya menggunakan skala kelabu. Satu cara ialah menggunakan kaedah ImageDraw.text dan tentukan parameter warna isian. Anda boleh menjana teks bertitik berwarna-warni dengan memilih palet warna atau memberikan warna rawak pada setiap titik.
Pilihan Latar Belakang −
Anda boleh mengubah suai fungsi generate_dotted_text untuk menerima laluan ini sebagai parameter dan bukannya Laluan imej input dan output dikodkan keras dalam skrip. Ini memberikan fleksibiliti dan membolehkan anda menjana teks garis putus-putus daripada imej input yang berbeza dan menggunakan nama tersuai atau menyimpannya dalam direktori tertentu. KESIMPULAN
Sepanjang artikel ini, kami meneliti konsep dan teknik utama yang terlibat dalam skrip, seperti pemprosesan imej, penjanaan teks dan pemprosesan fail. Kami memberikan penjelasan terperinci dan contoh kod yang disertakan untuk memastikan pemahaman yang jelas tentang langkah-langkah yang terlibat. Selain itu, kami membincangkan potensi peningkatan dan penyesuaian yang boleh dibuat pada skrip, seperti pemilihan fon, lorekan, saiz titik dan pelarasan ketumpatan, pilihan latar belakang dan laluan input/output tersuai. Pilihan ini membolehkan anda menyesuaikan skrip dengan keperluan khusus anda dan mencipta kesan teks bertitik yang menarik secara visual.
Atas ialah kandungan terperinci Skrip Python untuk menjana teks bertitik untuk sebarang imej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!