สำหรับการเรนเดอร์นามธรรม มีหลายสิ่งที่ควรศึกษาเกี่ยวกับฟิลเตอร์โพลาร์ใน Photoshop...
[นามธรรม] สำหรับการเรนเดอร์นามธรรม มีหลายสิ่งที่ควรศึกษาเกี่ยวกับตัวกรองพิกัดเชิงขั้วใน Photoshop...
ฉันเห็นในเว็บไซต์ต่างประเทศว่ามีบางคนแบ่งตัวกรอง Photoshop ออกเป็นสองประเภท ตัวแรกคือฟิลเตอร์ที่ไม่ทำลายภาพต้นฉบับ และอีกประเภทคือฟิลเตอร์ที่ทำลายภาพต้นฉบับ ตัวกรองแบบทำลายล้างส่วนใหญ่เป็นตัวกรองการบิดเบือน ซึ่งพิกัดเชิงขั้วค่อนข้างทำลายล้าง
เนื่องจากพิกัดเชิงขั้วมีการทำลายล้าง หลายคนคิดว่าฟิลเตอร์นี้มีประโยชน์น้อยมากสำหรับการประมวลผลภาพและภาพถ่าย อย่างไรก็ตาม หากใช้กับภาพนามธรรมบางภาพ ฉันหวังว่ายังมีบางแง่มุมของฟิลเตอร์นี้ที่ควรค่าแก่การศึกษา คุณจะได้รับแรงบันดาลใจหลังจากอ่านบทความนี้
1. ความเข้าใจการรับรู้ของการเสียรูปของพิกัดเชิงขั้ว
อันดับแรกเรามาดูกันว่าพิกัดเชิงขั้วของการบิดเบี้ยวมีผลกับภาพอย่างไร ตามที่แสดงในภาพ
รูปภาพชุดนี้เป็นรูปภาพสี่เหลี่ยม วงกลม และบล็อกสีก่อนและหลังการแปลงพิกัดเชิงขั้ว
การเปลี่ยนแปลงจากพิกัดสี่เหลี่ยมเป็นพิกัดเชิงขั้ว ถือได้ว่าเป็นกระบวนการที่ขอบด้านบนเว้า และขอบด้านล่างและหงายทั้งสองด้านขึ้น
การเปลี่ยนแปลงจากพิกัดเชิงขั้วเป็นพิกัดสี่เหลี่ยม ถือได้ว่าเป็นกระบวนการที่ขอบด้านล่างเว้าขึ้น และขอบด้านบนและทั้งสองด้านกลับลงด้านล่าง
"กระบวนการ" ที่กล่าวถึงในที่นี้ใช้เพื่อเพิ่มความจำเท่านั้น จริงๆ แล้วไม่มีกระบวนการพลิกขึ้นลงนี้ แต่จะถูกแมปโดยตรงผ่านพิกัด
1. พิกัดคาร์ทีเซียน -> พิกัดเชิงขั้ว
เส้นแนวตั้งในภาพต้นฉบับจะกลายเป็นเส้นรัศมีหลังจากการแปลงพิกัดเชิงขั้ว
เส้นแนวนอนในภาพต้นฉบับกลายเป็นวงกลมที่มีศูนย์กลางร่วมกันหลังจากการแปลงพิกัดเชิงขั้ว
แน่นอนว่าถ้าคุณวาดในแนวนอนและแนวตั้ง มันจะกลายเป็นใยแมงมุม
โปรดสังเกตตำแหน่งของแต่ละบล็อกสีหลังการเปลี่ยนแปลง ด้านบนของภาพต้นฉบับจะย่อลงจนอยู่ตรงกลางวงกลม และสีแดงที่ด้านล่างจะกลายเป็นวงกลมที่จารึกไว้ในผืนผ้าใบ บล็อกสีน้ำเงินสองบล็อกทางซ้ายและขวาจะพลิกขึ้นด้านบนและในที่สุดก็รวมเป็นรูปทรงพัด และทั้งสองด้านดั้งเดิมจะเหลื่อมกันที่ด้านบน
การจดจำตำแหน่งของแต่ละแพทช์สีก่อนและหลังการเปลี่ยนแปลงไม่เพียงช่วยให้คุณเข้าใจตัวกรองพิกัดเชิงขั้วได้ลึกซึ้งขึ้นเท่านั้น แต่ยังมีประโยชน์ในการใช้งานจริงอีกด้วย อย่างน้อยตอนนี้คุณก็ได้เรียนรู้การวาดเส้นรัศมี วงกลมศูนย์กลาง และรูปร่างพัดแล้ว
2. พิกัดเชิงขั้ว -> พิกัดคาร์ทีเซียน
เส้นแนวตั้งและแนวนอน (ยกเว้นแกนพิกัด) ในภาพต้นฉบับจะถูกแปลงเป็นพาราโบลา/ไฮเปอร์โบลาในภาพ (ฉันยังไม่ได้ทราบรูปร่างของเส้นที่เฉพาะเจาะจง แต่ฉันชอบให้มันเป็นไฮเปอร์โบลา)
หลังจากการแปลง แกนพิกัดจะกลายเป็นเส้นแบ่งแนวตั้งห้าเส้น โดยที่ 1, 3 และ 5 เป็นแกนตั้งดั้งเดิม และ 2, 4 เป็นแกนนอนดั้งเดิม
ส่วนเรื่องการเปลี่ยนบล็อคสี โปรดใส่ใจกับตำแหน่งและแอมพลิจูดด้วย ผมไม่ได้ศึกษาเรื่องนี้มากนัก
อย่างไรก็ตาม: ในคำนำ ฉันบอกว่าพิกัดเชิงขั้วเป็นอันตรายต่อรูปภาพ จริงๆ แล้ว ตัวกรองพิกัดเชิงขั้วก็มีการลดลงในระดับหนึ่งเช่นกัน ท้ายที่สุดแล้ว นี่คือการทำแผนที่ระหว่างระบบพิกัด ข้อมูลบางส่วนของภาพต้นฉบับยังคงสามารถเรียกคืนได้โดยดำเนินการแปลงผกผันบนกราฟที่ถูกแปลงไปข้างหน้า อย่างไรก็ตาม เนื่องจากพิกัดเชิงขั้วไม่มีการโต้ตอบแบบหนึ่งต่อหนึ่ง ข้อมูลที่บริเวณขอบของกราฟจึงไม่สามารถกู้คืนได้ แอปพลิเคชันทางเลือกอื่นๆ ยังสามารถใช้การลดพิกัดเชิงขั้วเพื่อเข้ารหัสรูปภาพได้
2. การใช้ตัวกรองพิกัดเชิงขั้ว
ฉันใช้ฟิลเตอร์พิกัดเชิงขั้วเพื่อวาดวงกลมเป็นหลัก หรือวาดภาพตามวงกลม เรามักจะเห็นกราฟิกที่ซ้ำๆ กันซึ่งวาดด้วยซอฟต์แวร์เวกเตอร์ จริงๆ แล้ว กราฟิกบางส่วนสามารถทำได้โดยใช้ตัวกรองพิกัดเชิงขั้ว ซึ่งบางครั้งก็ดีกว่าและมีการเปลี่ยนแปลงมากกว่าการใช้ซอฟต์แวร์เวกเตอร์
2.1 การผลิตรังสี ดูส่วนที่ 1
2.2 สำหรับการสร้างวงกลมมีศูนย์กลาง ดูส่วนที่หนึ่ง
2.3 แบบพัดลม แบบวงแหวน สายรุ้ง ดูส่วนที่หนึ่ง
2.4 เกลียว
การวาดเกลียวในซอฟต์แวร์เวกเตอร์นั้นค่อนข้างง่าย และซอฟต์แวร์บางตัวก็มีเครื่องมือเกลียวของตัวเอง แต่สำหรับ PS ไม่มีเครื่องมือหรือสูตรที่เหมาะสมเป็นพิเศษในการวาดเกลียว มีฟิลเตอร์ Twirl ในฟิลเตอร์ Distortion ที่สามารถสร้างเอฟเฟกต์คล้ายเกลียวได้ แต่รู้สึกว่าควบคุมไม่ได้มากนัก
ฉันได้รับแรงบันดาลใจจากการวาดวงกลมที่มีศูนย์กลางร่วมกัน และพบว่าฉันสามารถใช้ตัวกรองพิกัดเชิงขั้วเพื่อวาดเกลียวได้ ไม่ว่าจะมีระยะห่างเท่ากันหรือเปิด และขั้นตอนก็ค่อนข้างง่ายเพียงไม่กี่ขั้นตอน
ขั้นแรกสร้างไฟล์เปล่าสี่เหลี่ยม (400*20) วาดเส้นทแยงมุม (หากเป็นเส้นทแยงมุมหนา ให้ใส่ใจกับเส้นทแยงมุมแล้ววาดเส้นทแยงมุมบนอีกสองมุมบนของผืนผ้าใบเพื่อให้แน่ใจว่าสามารถทำได้ จะต้องกรอกข้อมูลในขั้นตอนต่อไป) กำหนดรูปแบบ ตามที่แสดงในภาพ
สร้างไฟล์ใหม่ (400*400) และเติมด้วยรูปแบบที่เพิ่งกำหนด ตามที่แสดงในภาพ
ใช้ตัวกรองพิกัดเชิงขั้ว พิกัดคาร์ทีเซียน - พิกัดเชิงขั้ว
ใช้ตัวกรองแสง
จากนั้นใช้ตัวกรอง Spherization และการแก้ไขอื่นๆ ก็เป็นอันเสร็จสิ้น
ภาพด้านบนใช้สำหรับวาดวงก้นหอยที่มีระยะห่างเท่ากัน หากคุณวาดวงก้นหอยไม่เท่ากัน คุณจะต้องเปลี่ยนระยะห่างและความชันของเส้นเฉียงแต่ละเส้น
หมายเหตุ: จะมีเส้นสีดำที่ด้านล่างขวาของรูปภาพ หลังจากพิกัดเชิงขั้วแล้ว ขอบด้านล่างของรูปภาพต้นฉบับจะถูกแมปลงในวงกลมที่จารึกไว้ด้วยเส้นขอบด้านนอกของรูปภาพใหม่ (ผืนผ้าใบสี่เหลี่ยมหรือวงรีหากเป็นผืนผ้าใบสี่เหลี่ยม) และช่องว่างทั้งหมดด้านนอกวงกลม หากคุณต้องการหลีกเลี่ยงเส้นสีดำ โปรดทราบว่าบรรทัดล่างสุดของภาพต้นฉบับคือสีพื้นหลัง อันที่จริง บรรทัดนี้ยังมีการใช้งานพิเศษของตัวเอง โปรดดูรายละเอียดจากตัวอย่างด้านล่าง
เกลียวที่วาดสามารถสร้างเป็นภาพเคลื่อนไหว Gif โดยใช้ ImageReady
2.5 การเปลี่ยนแปลงพิกัดเชิงขั้วของเส้นทแยงมุมและกริดตามยาว
หลักการเหมือนกันหมด ถ้าคุณเข้าใจสิ่งหนึ่ง คุณจะเข้าใจสิ่งอื่น แต่โปรดทราบว่าหากคุณเติมเส้นแนวตั้ง ขนาดผืนผ้าใบใหม่ควรเป็นจำนวนเต็มคูณของขนาดรูปแบบที่กำหนดไว้เดิม มิฉะนั้น ด้านซ้ายและขวาของภาพต้นฉบับจะไม่กลมกลืนกันนักหลังจากฟิลเตอร์พิกัดเชิงขั้ว
รูปภาพสองรูปด้านล่างใช้เส้นสีดำที่เพิ่งนำมาใช้เพื่อสร้างเส้นรัศมีนอกวงกลมที่จารึกไว้
วิวัฒนาการของกราฟิกที่ซับซ้อน
2.6 การเปลี่ยนแปลงพิกัดเชิงขั้วของตาราง
การใช้ตารางธรรมดาร่วมกับฟิลเตอร์อื่นๆ สามารถสร้างเอฟเฟกต์ที่ไม่คาดคิดได้มากมาย ดังแสดงในรูปกลุ่มที่ 6 ~ กลุ่มที่ 9 มาดูกลุ่มที่ 8 เป็นตัวอย่างเพื่อแนะนำวิธีการผลิตโดยย่อ
มาวาดตารางกันก่อน ฉันสงสัยว่าคุณใช้วิธีใดในการวาดตาราง? การเติมหรือวิธีการอื่นเราจะหารือในภายหลัง ฉันวาดตารางโดยใช้ไทล์
ใช้ตัวกรองพิกัดเชิงขั้ว (พิกัดเชิงขั้ว -> พิกัดสี่เหลี่ยม) เพื่อพลิกในแนวตั้ง
ใช้ตัวกรองพิกัดเชิงขั้วอีกครั้ง (พิกัดเชิงขั้ว -> พิกัดสี่เหลี่ยม) แล้วพลิกในแนวตั้ง
จากนั้นใช้ตัวกรองพิกัดเชิงขั้ว (พิกัดสี่เหลี่ยม -> พิกัดเชิงขั้ว)
ใช้ฟิลเตอร์แสง, เส้นโค้ง
เอฟเฟกต์ที่เสร็จแล้วมีดังนี้
วิธีการเตรียมของกลุ่มที่ 7 และกลุ่มที่ 9 นั้นคล้ายคลึงกับวิธีการของกลุ่มที่ 8 แต่มีขั้นตอนเพิ่มเติมผสมอยู่บ้าง
การใช้งานอื่นๆ
2.7 การทำซีดี
มีหลายวิธีในการสร้างซีดี แน่นอนว่าอันนี้วาดโดยใช้พิกัดเชิงขั้ว แต่ฉันคิดว่ามันทำได้ไม่ดีนัก
2.8 ข้อความภาพรังสี
กลุ่ม 11 มีบทเรียนออนไลน์มากมาย ดังนั้นฉันจะไม่ลงรายละเอียด
ในกรณีนี้ การแปลง พิกัดเชิงขั้วเป็นพิกัดสี่เหลี่ยม มีประโยชน์อย่างไร ในกรณีส่วนใหญ่ เพียงส่วนหนึ่งของภาพเท่านั้นที่ต้องแปลงเป็นพิกัดเชิงขั้ว หากคุณ "สร้างเส้นตรง -> แปลงพิกัดสี่เหลี่ยมเป็นพิกัดเชิงขั้ว" รูปภาพต้นฉบับก็จะบิดเบี้ยวไปด้วย ดังนั้น คุณสามารถปฏิบัติตามวิธี "พิกัดเชิงขั้วเป็นพิกัดสี่เหลี่ยม -> สร้างเส้นตรง -> พิกัดสี่เหลี่ยมเป็นพิกัดเชิงขั้ว" เพื่อไม่ให้ภาพต้นฉบับเปลี่ยนแปลง
จากนี้เราสามารถสรุปคุณลักษณะต่อไปนี้ของตัวกรองพิกัดเชิงขั้วได้:
- การแปลงจากพิกัดสี่เหลี่ยมเป็นพิกัดเชิงขั้วใช้เพื่อสร้างเอฟเฟกต์ ในขณะที่การแปลงจากพิกัดเชิงขั้วเป็นพิกัดสี่เหลี่ยมใช้เพื่อชดเชยผลข้างเคียงของแบบแรก
- เส้นแนวนอนจะถูกแปลงเป็นวงกลม เส้นแนวตั้งเป็นเส้นรัศมี และเส้นทแยงมุมเป็นเกลียว
- ด้านบนของภาพต้นฉบับตรงกับจุดศูนย์กลางของวงกลม และด้านล่างตรงกับด้านนอกของจุดศูนย์กลางของวงกลม
ผสมผสานกับลม
ตัวกรองลมเป็นเครื่องมือที่ยอดเยี่ยมในการสร้างเส้นตรง โดยเฉพาะเส้นตรงที่มีเอฟเฟกต์รัศมีสีซีดจาง ตามทฤษฎีข้างต้น "การแปลงพิกัดเชิงขั้วเป็นพิกัดสี่เหลี่ยม -> สร้างเส้นตรง -> แปลงพิกัดสี่เหลี่ยมเป็นพิกัดเชิงขั้ว" การใช้ลมเพื่อสร้างเส้นตรงสามารถบรรลุผลการแผ่รังสีที่ต้องการ
2.9 การเปลี่ยนแปลงพิกัดเชิงขั้วของรูปร่าง
นี่คือสิ่งที่ฉันชอบและฉันก็คิดมันขึ้นมาโดยบังเอิญ กลุ่มที่ 12
แอปพลิเคชันเฉพาะจะหยุดอยู่แค่นี้ สุดท้ายนี้ ฉันจะพูดถึงทฤษฎีเล็กๆ น้อยๆ และพูดคุยเกี่ยวกับกระบวนการทำงานของตัวกรองการแปลงพิกัดเชิงขั้ว
3. ขั้นตอนการทำงานของตัวกรองพิกัดเชิงขั้ว (พิกัดคาร์ทีเซียนถึงพิกัดเชิงขั้ว) โดยทั่วไปแล้ว จุดใดๆ (พิกเซล) ในภาพบิตแมปสามารถแสดงด้วยพิกัดสี่เหลี่ยม (x, y) ในทำนองเดียวกันพิกเซลนี้สามารถแสดงด้วยพิกัดเชิงขั้ว (r,a) ได้เช่นกัน ขั้นตอนการทำงานของตัวกรองพิกัดเชิงขั้วคือการประมวลผลพิกเซล (x, y) ตามระบบพิกัดสี่เหลี่ยมผ่านการแมปพิกัดเชิงขั้ว (r, a) จากนั้นแสดงด้วยพิกัดสี่เหลี่ยม (x', y')
สูตรการแปลงร่วมกันระหว่างพิกัดสี่เหลี่ยมและพิกัดเชิงขั้วมีดังนี้:
r = sqrt ( x * x + y * y )
ก = ส่วนโค้ง ( y / x )
x = r * cos (ก)
y = r * บาป (ก)
ด้านล่างนี้คือโค้ดหลอกที่จำลองการทำงานของฟิลเตอร์โพลาไรซ์ ฉันไม่ได้เขียนโค้ดนี้ ฉันแค่เข้าใจ สำหรับคำอธิบายโดยละเอียด โปรดดูที่ลิงก์ด้านล่าง:
http://www.jasonwaltman.com/thesis/filter-polar.html
(นี่เป็นเว็บไซต์ต่างประเทศ เจ้าของเว็บไซต์ใช้ C++ เพื่อจำลองเอฟเฟกต์ของตัวกรอง PS บางตัว และจัดเตรียมซอร์สโค้ดและซอร์สโปรแกรมให้)
สำหรับทุกพิกเซลในภาพต้นฉบับ
-
// x และ y คือพิกัดของพิกเซลปัจจุบันในพิกัดคาร์ทีเซียน
//พิกัดของจุดศูนย์กลางของภาพคือ x = 0, y = 0
// r และ a คือพิกัดเชิงขั้วของพิกเซล มุม a มีหน่วยเป็นเรเดียน
r = sqrt ( x * x + y * y );
ก = atan2 ( y / x );
// R ใช้เวลาครึ่งหนึ่งของความยาวและความกว้างขั้นต่ำของรูปภาพ
R= นาที [image_width, image_height]/2
// x และ y ใหม่คือพิกัดใหม่ของพิกเซลในระบบพิกัดคาร์ทีเซียนหลังจากการแปลงตัวกรองพิกัดเชิงขั้ว วัตถุประสงค์ของการแปลงนี้ โดยเฉพาะอย่างยิ่งการเลือก R และ 6.2832 (2pi) ฉันคิดว่าคือการจำกัดรูปภาพที่แปลงแล้วให้เป็นขนาดแคนวาสต้นฉบับ ในเวลาเดียวกัน ขั้นตอนนี้นำไปสู่การเสียรูปของภาพในที่สุด
x = r * image_height / R;
y = a * image_width / 6.2832;
ฟิลเตอร์พิกเซล x = x;
filterpixel.y = y;
-
นี่เป็นเพียงโค้ดหลอกเท่านั้น กระบวนการดำเนินการที่แท้จริงนั้นซับซ้อนกว่านั้น หากคุณเจาะลึกลงไปอีก คุณจะพลาดหัวข้อนี้ไปอย่างมาก ดังนั้น สำหรับการสนทนาเชิงลึก โปรดดูที่ลิงก์นั้นและดูด้วยตัวคุณเอง
สุดท้ายนี้ผมขอปิดท้ายด้วยข้อความจากเว็บไซต์นั้น
“หากใช้อย่างสร้างสรรค์ ผลลัพธ์จะมีค่ามากกว่าความแปลกใหม่”
ฉันหวังว่าคุณจะได้รับแรงบันดาลใจหลังจากอ่านบทความนี้ คำพูดไม่ดีเท่าใจ และใจไม่ดีเท่าการกระทำ ฉันรอคอยผลงานของคุณ