กลับไปหน้าบทความ

อ่าน 5 นาที

ภาพหลัก

Core Imageเป็นเทคโนโลยีการประมวลผลภาพแบบไม่ทำลายข้อมูลที่มีความแม่นยำระดับพิกเซล ใกล้เคียงกับเวลาจริง ใน Mac OS X โดยถูกนำมาใช้เป็นส่วนหนึ่งของเฟรมเวิร์ก QuartzCore ในMac OS X 10.

ภาพหลัก

Core Imageเป็นเทคโนโลยีการประมวลผลภาพแบบไม่ทำลายข้อมูลที่มีความแม่นยำระดับพิกเซล ใกล้เคียงกับเวลาจริง ใน Mac OS X โดยถูกนำมาใช้เป็นส่วนหนึ่งของเฟรมเวิร์ก QuartzCore ในMac OS X 10.4และเวอร์ชันต่อมา Core Image มีสถาปัตยกรรมแบบปลั๊กอินสำหรับการใช้ฟิลเตอร์และเอฟเฟกต์ภายในเลเยอร์การเรนเดอร์กราฟิกQuartz [ 1 ]เฟรมเวิร์กนี้ถูกเพิ่มเข้าไปใน iOS ในiOS 5 ในภายหลัง [ 2 ]

ภาพรวม

Core Image ช่วยลดความซับซ้อนของกระบวนการจัดการระดับพิกเซลที่จำเป็นเมื่อใช้ฟิลเตอร์กับรูปภาพ ทำให้แอปพลิเคชันสามารถใช้งานความสามารถในการแปลงรูปภาพได้อย่างง่ายดายโดยไม่ต้องเขียนโค้ดจำนวนมาก ในการใช้งานแบบง่าย Core Image จะใช้Image Filter เพียงตัวเดียว กับข้อมูลพิกเซลของแหล่งที่มาที่กำหนดเพื่อสร้างรูปภาพที่แปลงแล้ว Image Filter แต่ละตัวจะระบุการแปลงหรือเอฟเฟกต์เพียงอย่างเดียว ไม่ว่าจะสร้างไว้ใน Core Image หรือโหลดจากปลั๊กอินที่เรียกว่าImage Unitเมื่อรวมกับพารามิเตอร์อินพุตที่ตั้งไว้ล่วงหน้าหรือที่ผู้ใช้กำหนด ฟิลเตอร์สามารถนำไปใช้กับข้อมูลพิกเซลดั้งเดิมได้โดยไม่ต้องแก้ไข ทำให้สามารถแก้ไขรูปภาพแบบไม่ทำลายได้[ 3 ] [ 4 ]

เช่นเดียวกับPhotoshop , Core Image สามารถใช้ฟิลเตอร์หลายตัวกับแหล่งภาพเดียวกันได้ แทนที่จะใช้ฟิลเตอร์ทีละตัว Core Image จะประกอบไปป์ไลน์คำสั่ง แบบไดนามิก เพื่อให้ต้องใช้การคำนวณเพียงครั้งเดียวกับข้อมูลพิกเซลเพื่อให้ได้ผลรวม การใช้การดำเนินการพิกเซลที่เกี่ยวข้องกับฟิลเตอร์หลายตัวสามารถทำได้พร้อมกันโดยไม่ต้องเพิ่มเวลาในการประมวลผลอย่างมีนัยสำคัญ ไม่ว่าจะมีจำนวนฟิลเตอร์กี่ตัว Core Image จะประกอบโค้ดสำหรับไปป์ไลน์คำสั่งนี้ด้วยคอมไพเลอร์แบบ just-in-timeซึ่งจะถูกประมวลผลโดย CPU หรือ GPU ของการ์ดกราฟิก แล้วแต่ว่าส่วนใดสามารถคำนวณได้เร็วกว่า[ 5 ]

ฟิลเตอร์ถูกเขียนด้วยภาษาเคอร์เนล Core Imageซึ่งมีชุดคำสั่งย่อยร่วมกับภาษา OpenGL Shading Language (GLSL) [ 6 ] เมื่อมี GPU ที่เข้ากันได้ คอมไพเลอร์ Core Image จะเขียนไปป์ไลน์คำสั่งโดยใช้ GLSL จัดการบัฟเฟอร์และสถานะอย่างโปร่งใส แม้ว่าการเรนเดอร์ด้วย GPU จะเป็นที่ต้องการมากกว่า แต่คอมไพเลอร์สามารถทำงานใน โหมด CPU fallback ได้ โดยสร้างคำสั่งที่เหมาะสมกับสถาปัตยกรรม CPU ปัจจุบันแทน[ 7 ] CPU fallback ใช้ความ สามารถ ในการประมวลผลเวกเตอร์ของ CPU ปัจจุบัน และรองรับมัลติโปรเซสเซอร์ ดังนั้น ประสิทธิภาพของ Core Image จึงขึ้นอยู่กับความสามารถ GLSL ของ GPU หรือพลังการประมวลผลของ CPU ด้วย GPU ที่รองรับ เอฟเฟกต์ส่วนใหญ่สามารถเรนเดอร์ได้แบบเรียลไทม์หรือใกล้เคียงเรียลไทม์[ 8 ]

ประวัติและการนำไปใช้

Core Image เปิดตัวพร้อมกับMac OS X 10.4 [ 9 ] ตัวอย่าง การใช้งานในยุคแรกๆ สามารถพบได้ในเอฟเฟกต์ระลอกคลื่นในDashboardและแอปพลิเคชันถ่ายภาพดิจิทัลระดับมืออาชีพของ Apple อย่างAperture [ 10 ] ตั้งแต่ Mac OS X 10.5 เป็นต้นไป แอปพลิเคชันใดๆ ที่ใช้ Image Kit ก็สามารถใช้ Core Image ได้[ 11 ] PreviewและiPhotoเป็นตัวอย่างที่พบได้ทั่วไป

ในปี 2554 Apple ได้เพิ่ม Core Image ลงใน iOS ใน iOS 5.0 [ 2 ]

เครื่องมือXcode Tools ประกอบด้วยCore Image Fun HouseและQuartz Composerซึ่งทั้งสองอย่างนี้ใช้ Core Image เป็นพื้นฐาน

สถาปัตยกรรมปลั๊กอิน Core Image ได้รับแรงบันดาลใจจาก Core Audio [ 12 ]

ความแม่นยำของพิกเซล

การประมวลผลพิกเซลทั้งหมดที่ดำเนินการโดย Image Unit จะดำเนินการในพื้นที่สีแบบ pre-multiplied alpha ( RGBA ) โดยจัดเก็บช่องสีสี่ช่อง ได้แก่ สีแดง สีเขียว สีน้ำเงิน และความโปร่งใส ( อัลฟา ) แต่ละช่องสีจะถูกแทนด้วยตัวเลข จุดลอยตัว 32 บิตซึ่งให้ความลึกของสีที่ยอดเยี่ยม มากกว่าที่ตาของมนุษย์ จะรับรู้ ได้ เนื่องจากแต่ละพิกเซลจะถูกแทนด้วยเวกเตอร์ 128 บิต (ช่องสี 32 บิตสี่ช่อง) สำหรับพื้นที่สีที่มีความลึกของบิตต่ำกว่า รูปแบบการคำนวณจุดลอยตัวที่ใช้โดย Core Image ให้ประสิทธิภาพที่ยอดเยี่ยม ซึ่งมีประโยชน์เมื่อประมวลผลภาพหรือเฟรมวิดีโอหลายเฟรม[ 3 ] [ 13 ]

หน่วยประมวลผลกราฟิกที่รองรับ

GPU ที่ตั้งโปรแกรมได้ใดๆ ที่รองรับคำสั่ง OpenGL Shader ( GLSL ) ที่จำเป็นนั้นสามารถใช้งาน Core Image ได้ Apple ได้ใช้การ์ดกราฟิกต่อไปนี้เพื่อรองรับการประมวลผล GPU ของ Core Image ใน Mac OS X 10.4 และ Aperture ดังนั้นรายการต่อไปนี้จึงถือเป็นตัวอย่างของข้อกำหนดขั้นต่ำ: [ 10 ] [ 14 ]

  • การ์ดจอ ATI Mobility Radeon 9700 (Mobility Radeon 9600 ก็สามารถใช้งานได้เช่นกัน)
  • การ์ดจอ ATI Radeon 9550, 9600, 9650, 9600 XT, 9600 Pro, 9700 Pro, 9800 XT และ 9800 Pro
  • ATI Radeon X600 XT, X600 โปร, X800 XT, X850 XT, X1600, X1900 XT
  • การ์ดจอ ATI Radeon HD 2400 XT, HD 2600 Pro และ HD 2600 XT
  • NVIDIA GeForce FX 5200 Ultra, FX Go 5200
  • NVIDIA GeForce 6600, 6600 LE, 6800 Ultra DDL และ 6800 GT DDL
  • NVIDIA GeForce 7300 GT, 7600 GT และ 7800 GT
  • NVIDIA GeForce 8600M GT และ 8800 GT
  • NVIDIA GeForce 9400M และ 9600M GT
  • NVIDIA GeForce GT 120 และ GT 130
  • NVIDIA GeForce GTX 285
  • NVIDIA Quadro FX 4500 และ FX 5600
  • NVIDIA Quadro FX 4800
  • NVIDIA Quadro 4000
  • NVIDIA GeForce 320M
  • NVIDIA GeForce GT 330M
  • NVIDIA GeForce GT 640M
  • NVIDIA GeForce GT 650M
  • NVIDIA GeForce GTX 660M
  • NVIDIA GeForce GTX 675M
  • NVIDIA GeForce GTX 680MX
  • NVIDIA GeForce GT 750M
  • NVIDIA GeForce GT 755M
  • NVIDIA GeForce GTX 775M
  • NVIDIA GeForce GTX 780M
  • Intel GMA 900 , GMA 950หรือGMA X3100
  • กราฟิก Intel HD Graphics 3000 (Sandy Bridge)
  • กราฟิก Intel HD Graphics 4000 (Ivy Bridge)
  • กราฟิก Intel HD Graphics 5000 (Haswell)
  • อินเทล ไอริส 5100 (แฮสเวลล์)
  • Intel Iris Pro 5200 (Haswell)
  • กราฟิก Intel HD Graphics 5300 (Broadwell)
  • กราฟิก Intel HD Graphics 6000 (Broadwell)
  • อินเทล ไอริส 6100 (บรอดเวลล์)

โปรดทราบว่า GPU ใดๆ ที่สามารถจัดการคำสั่ง Core Image ได้นั้นก็ สามารถใช้งาน Quartz Extreme ได้เช่นกัน ข้อกำหนดสำหรับ Core Image นั้นสูงกว่าข้อกำหนดสำหรับ Quartz Extreme [ 14 ]

ตัวกรองในตัว

โลโก้ Wikipedia ที่ใช้หน่วยภาพ "ขาวดำ" "กระเบื้องสี่เหลี่ยมด้านขนาน" และ "การบิดเบี้ยวแบบบีบ"

macOS มีตัวกรองในตัวมากมาย รวมถึงตัวกรองต่อไปนี้ Mac OS X 10.4 ได้เพิ่มตัวกรองมากกว่า 100 ตัว และ Mac OS X 10.5 ได้เพิ่มรายการตัวกรองเหล่านี้เข้าไปอีก[ 3 ] [ 15 ]

  • การเบลอภาพ เช่น การเบลอแบบมีเดียน การเบลอแบบเกาส์เซียน การเบลอแบบเคลื่อนไหว และการเบลอแบบมีสัญญาณรบกวน
  • การปรับแต่งสีและเอฟเฟ็กต์ต่างๆ เช่น การเปิดรับแสง การปรับแกมมา และโทนสีซีเปีย
  • การดำเนินการด้านองค์ประกอบ เช่น การบวกและการคูณ การผสมหรือแสงแข็ง
  • เอฟเฟ็กต์การบิดเบือนภาพ เช่น Pinch, Circle Splash และ Vortex
  • เครื่องกำเนิดสัญญาณต่างๆ เช่น Star Shine และ Lenticular Halo
  • การปรับแต่งรูปทรงเรขาคณิต เช่น การตัด การปรับขนาด การหมุน และการแปลงเชิงเส้น
  • ฟิลเตอร์ Halftone, Tile และ Posterize
  • การเปลี่ยนผ่านต่างๆ เช่น การละลายและการเกิดระลอกคลื่น

ดูเพิ่มเติม

  • คู่มือการเขียนโปรแกรม Core Image – คลังข้อมูลสำหรับนักพัฒนา Mac OS X
  • Apple เปิดตัว Mac OS X "Tiger"เวอร์ชัน 10.4 พร้อม Core Image
  • Filterpedia - แอปพลิเคชัน Swift แบบโอเพนซอร์ส ที่สาธิตการใช้งานฟิลเตอร์ในตัวของ CoreImage เกือบทั้งหมด รวมถึงฟิลเตอร์แบบกำหนดเองที่ใช้ GLSL และ Metal โดย Simon Gladman
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Core_Image&oldid=1268046149 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ภาพหลัก

Core Imageเป็นเทคโนโลยีการประมวลผลภาพแบบไม่ทำลายข้อมูลที่มีความแม่นยำระดับพิกเซล ใกล้เคียงกับเวลาจริง ใน Mac OS X โดยถูกนำมาใช้เป็นส่วนหนึ่งของเฟรมเวิร์ก QuartzCore ในMac OS X 10.

ภาพรวม

Core Image ช่วยลดความซับซ้อนของกระบวนการจัดการระดับพิกเซลที่จำเป็นเมื่อใช้ฟิลเตอร์กับรูปภาพ ทำให้แอปพลิเคชันสามารถใช้งานความสามารถในการแปลงรูปภาพได้อย่างง่ายดายโดยไม่ต้องเขียนโค้ดจำนวนมาก ในการใช้งานแบบง่าย Core Image จะใช้ Image Filter เพียงตัวเดียว...

ประวัติและการนำไปใช้

Core Image เปิดตัวพร้อมกับ Mac OS X 10.4 [ 9 ] ตัวอย่าง การใช้งานในยุคแรกๆ สามารถพบได้ในเอฟ เฟกต์ระลอกคลื่น ใน Dashboard และแอปพลิเคชันถ่ายภาพดิจิทัลระดับมืออาชีพของ Apple อย่างAperture [ 10 ] ตั้งแต่ Mac OS X 10.

ความแม่นยำของพิกเซล

การประมวลผลพิกเซลทั้งหมดที่ดำเนินการโดย Image Unit จะดำเนินการในพื้นที่สีแบบ pre-multiplied alpha ( RGBA ) โดยจัดเก็บช่องสีสี่ช่อง ได้แก่ สีแดง สีเขียว สีน้ำเงิน และความโปร่งใส ( อัลฟา ) แต่ละช่องสีจะถูกแทนด้วยตัวเลข จุดลอยตัว 32...