คำถามติดแท็ก image-processing

ความท้าทายเหล่านี้เกี่ยวข้องกับการประมวลผลไฟล์ภาพที่มีอยู่ล่วงหน้าโดยการเปลี่ยนแปลงในบางวิธีรวบรวมสถิติหรืองานการประมวลผลภาพอื่น ๆ

5
บอกขั้นตอนทางจันทรคติ!
ท้าทาย รับภาพดวงจันทร์เป็นสัญญาณเข้าให้ส่งออกเฟสของดวงจันทร์ ขั้นตอนของดวงจันทร์ โปรแกรมของคุณจะได้รับหนึ่งในภาพเหล่านี้ในรูปแบบ png และคุณต้องส่งออกเฟสตามที่กำหนด: new moon hexdump waxing crescent hexdump first quarter hexdump waxing gibbous hexdump full moon hexdump waning gibbous hexdump third quarter hexdump waning crescent hexdump อินพุต อินพุตจะเป็นเส้นทางไปยังไฟล์ 240 px คูณ 240 px png และจะเป็นหนึ่งในภาพด้านบน ไบต์รูปภาพรับประกันว่าจะเหมือนกัน การชนะ รหัสที่สั้นที่สุดชนะ

11
สร้างภาพช่วงเวลาพิเศษ
สร้างโปรแกรมหรือฟังก์ชั่นที่รับอินพุตในรูปแบบของ <width>, <height>, <color1>, <color2> และสร้างการส่งออกดังกล่าวที่สลับแถวแรกระหว่างพิกเซลที่มีสี <color1>และมีระยะเวลาของ<color2> สำหรับแต่ละแถวที่เป็นไปตามระยะเวลาที่จะต้อง<height> <height> - <row number>โปรดทราบว่า<color1>เริ่มต้นแถวเสมอ ตัวอย่างผลลัพธ์ อินพุต120, 6, #000000, #FFFF00: อินพุต80, 50, #000000, #FFFF00: (ตัวอย่างเอาต์พุตถูกปรับสัดส่วนเพื่อความชัดเจน) นี่คือรหัสกอล์ฟดังนั้นรายการที่ถูกต้องสั้นที่สุดในไบต์ชนะ

1
ระดมสมองสร้างภาพ
บทนำ Braincopterเป็นอนุพันธ์ Brainf *** ที่ลึกลับที่เข้ารหัสโปรแกรม Brainf *** เป็นภาพ ในฐานะภาษา 2D มันใช้สองคำสั่งเพิ่มเติม พวกเขาหมุนตัวชี้คำแนะนำ (เริ่มต้นชี้ไปทางขวา) ตามเข็มนาฬิกาและทวนเข็มนาฬิกา Braincopter คล้ายกับBrainlollerมากยกเว้นว่าแทนที่จะใช้สีที่ต่างกันเป็นคำสั่งต่าง ๆ มันจะคำนวณคำสั่งตามค่า RGB ของแต่ละพิกเซลแทน Braincopter คำนวณคำสั่งสำหรับแต่ละพิกเซลตามสูตร N = (65536 * R + 256 * G + B) % 11โดยที่Nหมายเลขคำสั่งอยู่ การแม็พจากหมายเลขคำสั่งไปยังคำสั่ง Brainf *** มีดังนี้: 0 > 1 < 2 + 3 - 4 . 5 …

1
รูปนี้มีกี่รูปร่าง?
เด็กดีมากในการจำแนกวัตถุและนับพวกเขา คอมพิวเตอร์ดูเหมือนจะมีปัญหามากกว่า นี่เป็นเวอร์ชันที่ง่ายของปัญหานี้ คุณสามารถเขียนโปรแกรมขนาดเล็กที่สามารถจำแนกและนับจำนวนวัตถุในภาพได้หรือไม่? ปัญหา: กำหนดรูปภาพที่มีวงกลมและสี่เหลี่ยมหนึ่งวงกลมขึ้นไปส่งคืนจำนวนเต็ม 2 จำนวนด้วยการนับวงกลมและจำนวนสี่เหลี่ยม กฎระเบียบ ภาพอินพุตจะเป็นตัวเลขสีดำบนพื้นหลังสีขาวในรูปแบบบิตแมปใด ๆ ที่คุณเลือก ความกว้างและความสูงของภาพจะอยู่ระหว่าง 100 ถึง 1,000 พิกเซล รูปภาพจะถูกเก็บไว้ในรูปภาพ ตัวเลขจะมีความกว้าง 1 พิกเซล รูปภาพจะไม่ใช้การลบรอยหยัก พวกเขาจะเป็นสีดำบนพื้นขาวเท่านั้น ตัวเลขอาจสัมผัสตัดกันหรืออยู่ในรูปอื่น ตัวเลขที่ตัดกันจะมีพิกเซลทั่วไปสูงสุด 4 พิกเซล แวดวงจะมีขนาดเส้นผ่าศูนย์กลาง 20 พิกเซลขึ้นไป ด้านสี่เหลี่ยมผืนผ้าจะมีความยาว 10 พิกเซลขึ้นไป คุณไม่สามารถใช้บิวด์อินหรือไลบรารี่ที่จดจำรูปร่างหรือฟังก์ชั่นอื่นใดที่ทำให้ความท้าทายนี้เป็นเรื่องเล็กน้อย ส่งคืนหรือพิมพ์จำนวนเต็ม 2 จำนวนด้วยการนับวงกลมและสี่เหลี่ยม ตัวอย่างที่ 1 คำตอบ: 3 4 ตัวอย่างที่ 2: คำตอบ: 4 13 นี่เป็นความท้าทายของรหัสกอล์ฟดังนั้นโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ

3
ค้นหาตัวอักษรอื่น
คุณอาจเคยเห็นปริศนาแบบนี้: ค้นหา0: OOOOOOOOOOOOOOOOOOOO0OOOOOOOOOOOOOOOOOO ความท้าทายคือการเขียนโปรแกรมที่ค้นหาดัชนีของตัวอักษรต่าง ๆ ที่ให้ภาพ อินพุต Imageการป้อนข้อมูลจะเป็น ภาพจะประกอบด้วยหนึ่งบรรทัดของสีดำข้อความในHelvetica 24 จุด แบบอักษรบนพื้นหลังสีขาว ข้อความจะประกอบด้วยตัวเลือกสองตัวอักษร: ตัวละครหนึ่งตัวที่ซ้ำกันและตัวละครตัวหนึ่งที่ปรากฏเพียงครั้งเดียว ตัวอย่างเช่น เอาท์พุต การส่งออกจะเป็นIntegerดัชนีของตัวละครที่แตกต่างกัน 4ในตัวอย่างข้างต้นส่งออกจะได้รับ (โปรดสังเกตว่าดัชนีของสตริงเริ่มต้นที่0) ข้อมูลจำเพาะของโปรแกรม ตามปกติสำหรับรหัสกอล์ฟโปรแกรมที่สั้นที่สุดชนะ กรณีทดสอบ => 10 => 11 => 5 => 16 => 10 => 21 => 20 => 13 => 11 => 4 => 7

5
ฉันส่งข้อความคำสั่งผสมที่ถูกต้องของคนและศูนย์
ฉันเพิ่งจะเข้าร่วมในเพลงฉันเป็น Textpertเกี่ยวกับการส่งข้อความขณะขับรถและอีกหนึ่งบรรทัดในเพลงเป็นแรงบันดาลใจให้กับความท้าทายนี้ ฉันไม่เคยก้มหัวให้ต่ำกับรูปถ่ายข้อความ / แต่ฉันส่งข้อความคอมโบที่ถูกต้องของคนและศูนย์ ตอนนี้เห็นได้ชัดว่านี่เป็นสิ่งที่แทบเป็นไปไม่ได้เลยที่คุณจะทำในสิ่งเดียวกันดังนั้นคุณควรช่วย textperts ทั่วโลกโดยการเขียนโปรแกรมเพื่อทำสิ่งเดียวกัน งานของคุณคือใช้ชื่อไฟล์ภาพที่มีขนาด500x500พิกเซลและส่งออกไฟล์เป็นไบนารี นอกจากนี้คุณยังสามารถถ่ายรูปเป็นอินพุตได้หากภาษาของคุณรองรับ คุณสามารถใช้ไฟล์ภาพที่มีนามสกุล .jpg .png .gif .bmp .svg อนุญาตให้ฉันสาธิตวิธีแปลงรูปภาพให้เป็นไบนารีสำหรับผู้ที่ไม่เข้าใจในสิ่งที่ฉันหมายถึง ขั้นตอนที่ 1 ใช้พิกเซลแรกในไฟล์และดึงค่า RGB เป็นเลขทศนิยม 3 ตัว: R, G และ B สมมติว่าตัวอย่างเช่นพิกเซลแรกคือ255,0,0(สีแดง) ขั้นตอนที่ 2 แปลงตัวเลขแต่ละตัวให้เป็นตัวแทนไบนารี 8 บิตและต่อเชื่อมเป็นตัวเลข 24 บิตเดียว สำหรับตัวอย่างผลตอบแทนนี้111111110000000000000000 ขั้นตอนที่ 3 เพิ่มหมายเลข 24 บิตนี้ไปยังเอาต์พุตสุดท้าย ดังนั้นผลลัพธ์สุดท้ายควรเป็น6000000ตัวเลขที่ยาวและควรประกอบด้วยทั้งหมด1และ0 มันคือ รหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ!

15
นี่สีอะไร
คุณต้องตีกอล์ฟโปรแกรมที่จะใช้ชื่อไฟล์เป็นอินพุตและคุณต้องเอาต์พุตไฟล์ที่เป็นสี ไฟล์ดังกล่าวจะมีหนึ่งในส่วนขยายเหล่านี้ แต่โปรแกรมของคุณต้องการสนับสนุนเพียงหนึ่งไฟล์เท่านั้น โปรดพูดคำตอบข้อหนึ่งของคุณ .jpg .png .svg .gif .bmp และตอนนี้กับรูปแบบคลาสสิก อินพุต ชื่อไฟล์ที่มีหนึ่งในส่วนขยายด้านบน นอกจากนี้คุณยังสามารถนำวัตถุภาพหรือภาพเข้ารหัสแล้วแทน เอาท์พุต สีเดียวในไฟล์นั้นเป็นรหัสเลขฐานสิบหก 6 หลักที่มีตัวเลือกนำหน้า#เช่น#000000สีดำ นอกจากนี้คุณยังสามารถส่งออกรายการ / ทูเปิล / สตริงที่มีค่าทศนิยมหรือฐานสิบหกของสี RGB พร้อมตัวคั่นที่ชัดเจนและไม่ใช่ตัวเลขเช่น , |ฯลฯ คุณไม่สามารถส่งผ่านความโปร่งใส หากไฟล์ที่ไม่ได้เป็นทุกสีหนึ่งคุณต้องการส่งออกมีมูลค่า falsy ที่ไม่ได้#000000และยุติโดยไม่ต้องSTDERRพิมพ์อะไรให้ นี่คือเพื่อให้คุณไม่สามารถเปิดไฟล์และรับค่า RGB ของพิกเซลแรก กฎระเบียบ รหัสฐานสิบหกจะต้องได้รับผลลัพธ์เท่านั้นหากไฟล์เป็นสีเดียวทั้งหมด ไฟล์จะเป็น500x500พิกเซล พิกเซลจะมีความโปร่งใส 0% นี่คือ รหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ! ตัวอย่าง # 16C293 # 8B16C2 # 959090 # 84F00C …

4
“ ตรวจสอบ” ภาพ
ปัญหา: ความท้าทายนี้มาจากปัญหาจริงที่ฉันมี ฉันมีการตั้งค่าจอภาพสองจอในที่ทำงานและฉันต้องการใช้ภาพต่อไปนี้เป็นวอลล์เปเปอร์ของฉัน: อย่างไรก็ตามจอมอนิเตอร์ของฉันมีเบ็ซแซลค่อนข้างสำคัญและเมื่อฉันตั้งค่าพื้นหลังของฉันมันจะเป็นแบบนี้ที่ซึ่งท่าเรือปรากฏ (แอปพลิเคชัน?) จะแตก: ฉันสามารถแก้ปัญหานี้ได้ด้วยการสร้างภาพโดยที่จุดศูนย์กลางตัดออกแล้วยืดกลับไปเป็นขนาดดั้งเดิมตามที่แสดงในภาพด้านล่าง: ความท้าทาย: เขียนโปรแกรมที่ถ่ายภาพและ "ตรวจสอบ" เพื่อใช้กับการตั้งค่าจอภาพสองจอ (เช่นลบส่วนตรงกลางของภาพที่มีเบแซลอยู่) กฎมีดังนี้: ต้องเป็นโปรแกรมเต็มรูปแบบที่ยอมรับรูปภาพไม่ว่าจะเป็นพา ธ (อาร์กิวเมนต์สตริง ฯลฯ ) หรือในรูปแบบของกล่องโต้ตอบตัวเลือกไฟล์ โปรแกรมจะต้องป้อนข้อมูลเป็นจำนวนเส้นแนวตั้ง (ความกว้างหนึ่งพิกเซล) เพื่อครอบตัดออกจากกึ่งกลางของภาพ การปลูกพืชจะต้องมาจากศูนย์กลาง (กว้างไวด์) ของภาพต้นฉบับ รูปภาพผลลัพธ์ต้องถูกปรับสัดส่วนกลับเป็นขนาดดั้งเดิมของภาพอินพุตอีกครั้ง (แบ่งครึ่งสามารถเป็นรายบุคคลและจากนั้นตัดแบ่งหรือตัดแบ่งแล้วปรับขนาดแล้วการปรับขนาดเป็นการสร้างภาพ / เอฟเฟกต์ที่ดีขึ้น แต่แทบจะไม่สังเกตเห็นได้ในโลกแห่งความเป็นจริง) โดยทั่วไปแล้วภาพพื้นหลังจะทำให้การท้าทายนี้ง่ายขึ้นรูปภาพอินพุตจะมีจำนวนพิกเซลเท่ากันและจำนวนบรรทัดที่จะลบก็จะเท่ากัน ความท้าทายนี้เป็นโค้ดกอล์ฟ - โค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ โชคดี!

6
ย้อนกลับตัวกรองไบเออร์ของภาพ
เซ็นเซอร์กล้องดิจิตอลเกือบทั้งหมดจะถูกจัดระเบียบในตารางของ photosensors เซ็นเซอร์ภาพแต่ละภาพมีความอ่อนไหวต่อสีหลักอย่างใดอย่างหนึ่ง: สีแดงสีเขียวและสีน้ำเงิน วิธีการจัดระเบียบเซ็นเซอร์ภาพถ่ายเหล่านี้เรียกว่าตัวกรองไบเออร์หลังจากผู้คิดค้นไบรซ์ไบเออร์แห่งอีสต์แมนโกดัก หลังจากถ่ายภาพแล้วเซ็นเซอร์ภาพถ่ายสี่ตัวจะประกอบด้วยค่า RGB ของหนึ่งพิกเซลในภาพที่ได้ งานของคุณคือการย้อนกลับกระบวนการนั้นและกำหนดค่าพิกเซลของผลลัพธ์ตามสีของฟิลเตอร์ เพื่อประโยชน์ของความเรียบง่ายที่เราจะไม่สนใจการแก้ไขแกมมา ตัวอย่างเช่น: ขั้นตอนการกรอง "ปกติ" ไปข้างหน้าไบเออร์คือ: Lightray ที่มีสี Pantone Beeswaxกระทบเซ็นเซอร์ ตัวกรอง BGGR (สีน้ำเงิน - เขียว / เขียว - แดง) จะแยกตัวออกเป็นสี่รังสี รังสีทั้งสี่ชนกับเซ็นเซอร์ซึ่งอ่านได้: 81 - 168/168 - 235 (ค่าเซ็นเซอร์อยู่ในช่วงตั้งแต่ 0 - 255) ตัวกรองไบเออร์แปลสิ่งนี้เป็นพิกเซล RGB หนึ่งสี (235, 168, 81) ขั้นตอนการกรองแบบย้อนกลับของไบเออร์คือ: พิกเซล RGB ที่มีสี (235, 168, …

2
เขียนตัวเข้ารหัส GIF
ใช่ GIF แบบเก่าที่ดี ชอบความเก่งกาจ, เกลียดการจดสิทธิบัตรและล้าสมัยบางส่วนเนื่องจากข้อ จำกัด ของมัน (และสิทธิบัตร), GIF ประกอบด้วยที่แกนกลาง, จานสีและภาพดัชนีที่ถูกบีบอัดโดยใช้อัลกอริทึม LZW งานของคุณคือการเขียนโปรแกรมที่อ่านภาพในรูปแบบASCII PPM (หมายเลขมายากล "P3") จากอินพุตมาตรฐานและเขียนภาพเดียวกัน (พิกเซลเหมือนกันโดยพิกเซล) ในรูปแบบ GIF ไปยังเอาต์พุตมาตรฐาน เอาต์พุตสามารถอยู่ในรูปแบบไบนารีหรือข้อความ ASCII ที่มีแต่ละไบต์แทนด้วยตัวเลขระหว่าง 0 ถึง 255 (รวม) โดยคั่นด้วยช่องว่าง รับประกันภาพอินพุตไม่ให้มีสีต่างกันมากกว่า 256 สี เกณฑ์การให้คะแนน: โปรแกรมของคุณจะถูกทดสอบใน 3 ภาพตัวอย่างและคะแนนของคุณจะถูกคำนวณเป็น: ขนาดโปรแกรม + ผลรวม (ขนาดผลงาน - ขนาดอ้างอิงสำหรับภาพตัวอย่างแต่ละภาพ) คะแนนต่ำสุดชนะ ที่ต้องการ: โปรแกรมของคุณจะต้องทำงานกับรูปภาพประเภทต่างๆขนาดใกล้เคียงกันและไม่ จำกัด เฉพาะภาพตัวอย่าง ตัวอย่างเช่นคุณสามารถ จำกัด ขนาดให้เป็นทวีคูณของ …

2
ข้อสรุปกราฟสี
ในบางกรณีบ่อยครั้งในวิชาฟิสิกส์คุณต้องรวมกราฟ ความท้าทายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้กราฟหลาย ๆ รูปเป็นภาพคำนวณผลรวมที่เป็นไปได้ทั้งหมดและแสดงผลลัพธ์ กราฟ กราฟเป็นภาพที่มีrgb(255, 255, 255)พื้นหลังสีขาว ( ) พร้อมพิกเซลที่ไม่ใช่สีขาวในแต่ละคอลัมน์ ตัวอย่าง: ค่าของสคริปต์จะแสดงเป็นตำแหน่ง Y ของพิกเซลสี ค่าที่พิกัด X หนึ่งเท่ากับตำแหน่ง Y ของพิกเซลสีบนสุดในคอลัมน์นั้นโดยพิกัดเริ่มต้นที่ 0 ที่ด้านล่างซ้าย อาจมีหรือไม่มีพิกเซลสีเพิ่มเติมด้านล่างพิกเซลเหล่านั้นด้วยเหตุผลที่สวยงาม งาน งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้กราฟหลาย ๆ รูปเป็นภาพคำนวณ2^n - 1ผลรวมทั้งหมดที่เป็นไปได้และผลลัพธ์ผลลัพธ์ ผลรวมของกราฟคือกราฟที่ค่าของแต่ละคอลัมน์มีค่าเท่ากับผลรวมของค่าของคอลัมน์ที่เกี่ยวข้องในแต่ละกราฟอินพุต กราฟจะมีหลายสี ภาพผลลัพธ์ต้องมีผลรวมของกราฟที่เป็นไปได้ทั้งหมดเช่นเดียวกับกราฟอื่นรวมถึงกราฟต้นฉบับ แต่ไม่รวมผลรวมเป็นศูนย์ สีของผลรวมแต่ละครั้งจะถูกกำหนดโดยค่าเฉลี่ยของสีของกราฟที่รวมอยู่เช่นกราฟของสีrgb(255, 0, 255)และrgb(0, 255, 255)จะสร้างกราฟของrgb(128, 128, 255)(อาจถูกปัดเศษลง) ภาพที่ได้ควรมีความสูงตามความเหมาะสมเพื่อให้พอดีกับกราฟทั้งหมด ซึ่งหมายความว่าคุณอาจต้องส่งภาพที่มีขนาดใหญ่กว่าอินพุตใด ๆ ลำดับที่กราฟผลลัพธ์ถูกดึงไปยังรูปภาพผลลัพธ์ไม่สำคัญเช่นหากกราฟผลลัพธ์ซ้อนกันคุณอาจเลือกกราฟที่อยู่ด้านบน แต่จะต้องเป็นหนึ่งในกราฟไม่ใช่สีผสมกัน คุณอาจคิดว่าภาพอินพุตมีความกว้างเท่ากันคอลัมน์ทั้งหมดของภาพมีพิกเซลที่ไม่ใช่สีขาวอย่างน้อยหนึ่งพิกเซลและความสูงของภาพ (รวมถึงเอาต์พุต) ต่ำกว่า 4096 พิกเซล …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.