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

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

5
นี่คือปัญหาการอ้างอิงตนเอง
สูตรอ้างอิงตนเองของทัปเปอร์(คัดลอกมาจาก Wikipedia) สูตรอ้างอิงตนเองของทัปเปอร์เป็นสูตรที่กำหนดโดยเจฟทัปเปอร์ซึ่งเมื่อกราฟในสองมิติที่ตำแหน่งที่เจาะจงมากในระนาบสามารถ "ตั้งโปรแกรม" เพื่อสร้างสูตรด้วยตนเอง มันถูกใช้ในวิชาคณิตศาสตร์และวิทยาศาสตร์คอมพิวเตอร์ต่าง ๆ เป็นการออกกำลังกายในสูตรกราฟ ฟังก์ชั่นพื้นอยู่ที่ไหน อนุญาตkเป็นหมายเลข 543 หลักต่อไปนี้: 960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719 หากหนึ่งในกราฟชุดของจุด(x, y)ใน0 <= x < 106และk <= y < k + 17ความพึงพอใจของความไม่เท่าเทียมกันดังกล่าวข้างต้นกราฟส่งผลให้มีลักษณะเช่นนี้ (โปรดทราบว่าแกนในพล็อตนี้ได้รับการกลับรายการมิฉะนั้นภาพออกมาคว่ำลง): แล้วอะไรล่ะ สิ่งที่น่าสนใจเกี่ยวกับสูตรนี้ก็คือมันสามารถใช้สร้างกราฟ 106x17 ภาพขาวดำที่เป็นไปได้ ตอนนี้การค้นหาผ่านการค้นหาจริง ๆ แล้วจะน่าเบื่ออย่างยิ่งดังนั้นจึงมีวิธีการหาค่า k ที่ภาพของคุณปรากฏ กระบวนการนี้ค่อนข้างง่าย: เริ่มจากพิกเซลด้านล่างของคอลัมน์แรกของภาพของคุณ หากพิกเซลเป็นสีขาว 0 จะถูกผนวกเข้ากับค่า k ถ้าเป็นสีดำให้ผนวก 1 เลื่อนคอลัมน์ขึ้นทำซ้ำขั้นตอนที่ 2 เมื่อสิ้นสุดคอลัมน์แล้วให้ย้ายไปที่คอลัมน์ถัดไปและเริ่มจากด้านล่างตามกระบวนการเดียวกัน หลังจากวิเคราะห์แต่ละพิกเซลแล้วให้แปลงสตริงไบนารี่นี้เป็นทศนิยมและคูณด้วย 17 เพื่อรับค่า k …

3
สีทาผนังพื้นผิวที่สร้างโดยคอมพิวเตอร์
สีบนผนังในห้องของฉันมีพื้นผิวแบบสามมิติแบบสุ่มเกือบจะเป็นเศษส่วน: ในการท้าทายนี้คุณจะเขียนโปรแกรมที่สร้างภาพสุ่มที่ดูเหมือนว่าพวกเขาอาจเป็นส่วนหนึ่งของกำแพงของฉัน ด้านล่างฉันได้รวบรวม 10 ภาพของจุดที่แตกต่างกันบนผนังของฉัน ทั้งหมดมีแสงเดียวกันประมาณเดียวกันและทุกอย่างถูกนำไปด้วยกล้องห่างจากผนังหนึ่งฟุต เส้นขอบถูกครอบตัดอย่างสม่ำเสมอเพื่อให้มีขนาด 2048 x 2048 พิกเซลจากนั้นจะถูกปรับเป็น 512 x 512 ภาพด้านบนคือภาพ A นี่เป็นเพียงภาพขนาดย่อคลิกที่ภาพเพื่อดูขนาดเต็ม! A: B: C: D: E: F: G: H: I: J: งานของคุณคือการเขียนโปรแกรมที่ใช้จำนวนเต็มบวกจาก 1 ถึง 2 16เป็นเมล็ดสุ่มและสำหรับแต่ละค่าจะสร้างภาพที่แตกต่างซึ่งดูเหมือนว่าอาจเป็น "ภาพที่สิบเอ็ด" ของผนังของฉัน หากใครบางคนมองที่ 10 ภาพของฉันและบางส่วนของคุณไม่สามารถบอกได้ว่าเป็นคอมพิวเตอร์ที่สร้างขึ้นแล้วคุณทำได้ดีมาก! โปรดอวดรูปภาพที่คุณสร้างขึ้นบางส่วนเพื่อให้ผู้ดูสามารถเห็นได้โดยไม่ต้องเรียกใช้รหัส ฉันตระหนักว่าแสงในภาพของฉันไม่เหมือนกันอย่างสมบูรณ์ในความเข้มหรือสี ฉันขอโทษสำหรับเรื่องนี้ แต่มันเป็นสิ่งที่ดีที่สุดที่ฉันทำได้โดยไม่ต้องใช้อุปกรณ์ส่องสว่าง รูปภาพของคุณไม่จำเป็นต้องมีแสงที่เปลี่ยนแปลงได้ (แม้ว่าจะทำได้) พื้นผิวเป็นสิ่งสำคัญที่จะเน้น รายละเอียด คุณสามารถใช้เครื่องมือและไลบรารีการประมวลผลภาพ รับอินพุตในลักษณะทั่วไปที่คุณต้องการ (บรรทัดคำสั่ง stdin ตัวแปรที่ชัดเจน …

4
บางครั้งฉันต้องการ Resizer Screenshot Lossless
บางครั้งฉันต้องเขียนเอกสารมากกว่าแค่แสดงความคิดเห็นในรหัส และบางครั้งคำอธิบายเหล่านั้นต้องการภาพหน้าจอ บางครั้งเงื่อนไขในการรับสกรีนช็อตนั้นแปลกมากฉันจึงขอให้ผู้พัฒนาถ่ายภาพหน้าจอให้ฉัน บางครั้งภาพหน้าจอไม่ตรงกับข้อกำหนดของฉันและฉันต้องปรับขนาดเพื่อให้มันดูดี อย่างที่คุณเห็นสถานการณ์ที่จำเป็นสำหรับเวทมนตร์ "Lossless Screenshot Resizer" นั้นไม่น่าเป็นไปได้ อย่างไรก็ตามสำหรับฉันดูเหมือนว่าฉันต้องการมันทุกวัน แต่มันยังไม่มี ฉันเคยเห็นคุณที่นี่ใน PCG แก้ปริศนากราฟิคที่ยอดเยี่ยมมาก่อนดังนั้นฉันคิดว่าเกมนี้น่าเบื่อสำหรับคุณ ... สเปค โปรแกรมจะจับภาพหน้าจอของหน้าต่างเดียวเป็นอินพุต ภาพหน้าจอไม่ได้ใช้เอฟเฟกต์ของแก้วหรือสิ่งที่คล้ายกัน (ดังนั้นคุณไม่จำเป็นต้องจัดการกับสิ่งพื้นหลังใด ๆ รูปแบบไฟล์อินพุตคือ PNG (หรือรูปแบบที่ไม่มีการสูญเสียอื่น ๆ เพื่อให้คุณไม่ต้องจัดการกับไฟล์บีบอัด) รูปแบบไฟล์เอาต์พุตเหมือนกับรูปแบบไฟล์อินพุต โปรแกรมสร้างภาพหน้าจอที่มีขนาดแตกต่างกันเป็นเอาต์พุต ความต้องการขั้นต่ำลดขนาดลง ผู้ใช้จะต้องระบุขนาดผลลัพธ์ที่คาดหวัง หากคุณสามารถให้คำแนะนำเกี่ยวกับขนาดต่ำสุดที่โปรแกรมของคุณสามารถผลิตจากอินพุตที่กำหนดนั่นเป็นประโยชน์ ภาพหน้าจอของเอาต์พุตจะต้องมีข้อมูลน้อยกว่าหากตีความโดยมนุษย์ คุณจะไม่ลบเนื้อหาข้อความหรือรูปภาพ แต่คุณจะลบพื้นที่ที่มีพื้นหลังเท่านั้น ดูตัวอย่างด้านล่าง หากไม่สามารถรับขนาดที่คาดหวังได้โปรแกรมควรระบุว่าไม่ใช่ความผิดพลาดหรือลบข้อมูลโดยไม่ต้องแจ้งให้ทราบล่วงหน้า หากโปรแกรมระบุส่วนที่จะถูกลบเนื่องจากเหตุผลในการยืนยันควรเพิ่มความนิยม โปรแกรมอาจต้องการอินพุตของผู้ใช้อื่นเช่นเพื่อระบุจุดเริ่มต้นสำหรับการปรับให้เหมาะสม กฎระเบียบ นี่คือการประกวดความนิยม คำตอบที่ได้คะแนนโหวตมากที่สุดเมื่อวันที่ 2015-03-08 ได้รับการตอบรับ ตัวอย่าง ภาพหน้าจอของ Windows XP ขนาดดั้งเดิม: 1003x685 พิกเซล พื้นที่ตัวอย่าง …

4
คอมพิวเตอร์สร้างดินแตก
จงเขียนโปรแกรมที่ใช้ในจำนวนเต็ม 0-65,535 (2 16 -1) และสร้างที่ไม่ซ้ำกัน 500 × 500 พิกเซลภาพที่มีลักษณะเป็นที่คล้ายกันเป็นไปได้ที่จะเหล่านี้ 6 ภาพชีวิตจริงของดินแตก: นี่คือภาพขนาดย่อคลิกเพื่อดูภาพขนาดเต็ม 500 × 500 เป้าหมายที่นี่คือการทำให้คอมพิวเตอร์ของคุณสร้างขึ้นเป็นภาพเหมือนจริงที่เป็นไปได้ ดังนั้นหากภาพใดที่โปรแกรมของคุณถูกนำมาผสมกับภาพ 6 ภาพด้านบนแสดงว่ามีคนเห็นภาพเป็นครั้งแรกจะไม่สามารถบอกได้ว่าคอมพิวเตอร์สร้างภาพที่แตกต่างจากของจริง แต่การทำ photorealism ที่สมบูรณ์แบบนั้นเป็นเรื่องยาก นี่คือการประกวดความนิยมดังนั้นคำตอบที่มีผลลัพธ์ที่สมจริงมากขึ้นจะได้รับการสนับสนุนมากขึ้นและมีแนวโน้มที่จะชนะ กฎระเบียบ คุณอาจใช้ฟังก์ชั่นการประมวลผลภาพหรือห้องสมุด คุณอาจใช้อัลกอริทึมของคุณกับข้อมูลที่รวบรวมจากภาพตัวอย่าง 6 ภาพ แต่ภาพ 65536 (2 16 ) ที่เป็นไปได้ของคุณควรแตกต่างจากภาพซึ่งกันและกันและภาพตัวอย่างโดยเฉพาะอย่างยิ่งสำหรับการจัดเรียงรอยแตก คุณต้องสร้างภาพของคุณอย่างแท้จริงไม่เพียงหมุนและแปลส่วนที่เลือกจากภาพถ่ายที่มีอยู่ก่อนหน้า คุณไม่ควร hardcode ผลลัพธ์ของคุณ ควรใช้อัลกอริทึมทั่วไปและจำนวนที่มากกว่า 65535 ในทางทฤษฎีควรสร้างผลลัพธ์ที่ถูกต้อง (ฉันได้ จำกัด ไว้เพียงรองรับประเภทจำนวนเต็มขนาดเล็กสูงสุด) ค่าอินพุทจำนวนเต็มสามารถคิดได้ว่าเป็นเมล็ดที่ส่งผลให้ภาพที่ส่งออกดินแตก ควรกำหนดไว้ล่วงหน้าดังนั้นอินพุตเดียวกันควรส่งผลลัพธ์เดียวกันเสมอ ภาพที่ส่งออกจะต้องมีขนาด 500 × …

30
สร้างเมทริกซ์เอกลักษณ์
ความท้าทายนั้นง่ายมาก กำหนดอินพุตจำนวนเต็มnส่งออกn x nเมทริกซ์เอกลักษณ์ เมทริกซ์เอกลักษณ์เป็นข้อมูลที่มีการ1ขยายจากด้านบนซ้ายลงไปด้านล่างขวา คุณจะเขียนโปรแกรมหรือฟังก์ชั่นที่จะส่งกลับหรือแสดงเมทริกซ์เอกลักษณ์ที่คุณสร้างขึ้น ผลลัพธ์ของคุณอาจเป็นอาร์เรย์ 2 มิติหรือตัวเลขคั่นด้วยช่องว่าง / แท็บและบรรทัดใหม่ ตัวอย่างอินพุทและเอาท์พุท 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, …

4
ระบายสีโดยตัวเลข
คุณได้รับภาพสีจริง งานของคุณคือการสร้างเวอร์ชันของภาพนี้ซึ่งดูเหมือนว่าจะถูกทาสีโดยใช้สีต่อตัวเลข (กิจกรรมของเด็กไม่ใช่ nonograms) นอกเหนือจากรูปภาพแล้วคุณยังได้รับพารามิเตอร์สองตัว ได้แก่Pขนาดสูงสุดของจานสี (เช่นจำนวนสีที่แตกต่างกันสูงสุดที่จะใช้) และNคือจำนวนเซลล์สูงสุดที่จะใช้ อัลกอริทึมของคุณไม่จำเป็นต้องใช้สีPและเซลล์Nทั้งหมด แต่จะต้องไม่ใช้มากกว่านั้น ภาพที่ส่งออกควรมีขนาดเดียวกันกับอินพุต เซลล์ถูกกำหนดให้เป็นพื้นที่ที่อยู่ติดกันของพิกเซลซึ่งทุกคนมีสีเดียวกัน พิกเซลที่สัมผัสที่มุมเท่านั้นไม่ถือว่าต่อเนื่องกัน เซลล์อาจมีรู ในระยะสั้นคุณจะต้องประมาณภาพอินพุตที่มีเพียง N พื้นที่แรเงา / สีทึบและ N สีที่แตกต่างกันเท่านั้น เพียงเพื่อให้เห็นภาพพารามิเตอร์นี่เป็นตัวอย่างที่ง่ายมาก (สำหรับภาพที่ไม่มีการป้อนข้อมูลโดยเฉพาะ; ภาพต่อไปนี้มีP = 6และN = 11 : นี่คือภาพบางส่วนที่จะทดสอบอัลกอริทึมของคุณใน (ส่วนใหญ่ผู้ต้องสงสัยตามปกติของเรา) คลิกที่ภาพเพื่อดูขนาดใหญ่ขึ้น โปรดรวมผลลัพธ์จำนวนหนึ่งสำหรับพารามิเตอร์ต่างๆ หากคุณต้องการแสดงผลลัพธ์จำนวนมากคุณสามารถสร้างแกลเลอรี่ได้ที่imgur.comเพื่อให้ขนาดของคำตอบมีความสมเหตุสมผล อีกทางหนึ่งคือใส่ภาพขนาดย่อในโพสต์ของคุณแล้วทำให้ลิงก์นั้นเชื่อมโยงไปยังภาพขนาดใหญ่อย่างที่ฉันทำข้างต้น นอกจากนี้อย่าลังเลที่จะใช้ภาพทดสอบอื่น ๆ หากคุณพบสิ่งที่ดี ฉันสมมติว่าพารามิเตอร์ประมาณN ≥ 500 , P ~ 30จะคล้ายกับเทมเพลตตามหมายเลขจริง นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้คะแนนโหวตมากที่สุดจะเป็นฝ่ายชนะ ผู้มีสิทธิเลือกตั้งได้รับการสนับสนุนให้ตัดสินคำตอบด้วย ภาพต้นฉบับประมาณว่าดีเพียงใด อัลกอริธึมทำงานได้ดีกับรูปภาพหลายรูปแบบอย่างไร (โดยทั่วไปภาพเขียนอาจจะง่ายกว่าภาพถ่าย) …

3
วาดภาพนิ่ง (หรือภาพเคลื่อนไหว) - วาดภาพในเกมแห่งชีวิต
คุณได้รับเมื่อป้อนรูปภาพ greyscale งานของคุณคือการหารูปแบบสแตติกหรือวนลูปในเกมแห่งชีวิตของคอนเวย์ที่มีลักษณะคล้ายกับภาพอินพุตให้ใกล้เคียงที่สุด เอาต์พุตของคุณอาจเป็นภาพนิ่งหรือภาพเคลื่อนไหววนซ้ำในบางรูปแบบที่สามารถแปลงเป็น gif ขนาดภาพที่ส่งออกควรจะเหมือนกับอินพุทและจะต้องมีเพียงพิกเซลขาวดำ หากเอาต์พุตเป็นภาพเคลื่อนไหวแต่ละเฟรมจะต้องสร้างขึ้นจากเฟรมก่อนหน้าตามกฎของเกมแห่งชีวิตโดยมีหนึ่งเซลล์ต่อพิกเซล ภาพเคลื่อนไหวจะต้องวนซ้ำโดยเฟรมแรกจะถูกสร้างจากเฟรมสุดท้ายด้วยกฎเดียวกัน หากผลลัพธ์เป็นภาพนิ่งให้ใช้กฎของเกมแห่งชีวิตกับมันจะต้องผลิตภาพเดียวกัน ซึ่งหมายความว่าไม่มีเซลล์ 'ที่มีชีวิต' อาจมีเพื่อนบ้านที่มีชีวิตมากกว่าสามคนหรือน้อยกว่าสองคนและไม่มีเซลล์ที่ 'ตาย' อาจมีเพื่อนบ้านที่มีชีวิตสามคน (โปรดทราบว่านี่เป็นพื้นเดียวกันกับภาพเคลื่อนไหวตามที่อธิบายไว้ข้างต้น แต่มีเพียงหนึ่งเฟรมเท่านั้น) กฎและการชี้แจงเพิ่มเติม: คุณ (หรือโปรแกรมของคุณ) อาจเลือกว่าเซลล์ 'มีชีวิต' จะแสดงเป็นสีขาวและ 'ตาย' เป็นสีดำหรือในทางกลับกัน นั่นคือคุณสามารถใช้รหัสนี้หรือโปรแกรมของคุณสามารถเลือกได้ตามภาพอินพุต (แต่จะต้องเหมือนกันทุกเฟรมของภาพเคลื่อนไหว) เงื่อนไขขอบเขตควรเป็นระยะซึ่งหมายความว่าเซลล์ในคอลัมน์ขวาสุดมีเพื่อนบ้านในคอลัมน์ซ้ายสุด ฯลฯ สำหรับภาพเคลื่อนไหวอัตราเฟรมขึ้นอยู่กับคุณ (หรือโปรแกรมของคุณ) ฉันจินตนาการว่าอัตราเฟรมที่เร็วจะทำงานได้ดีสำหรับการประมาณพิกเซลสีเทา โปรดโพสต์ผลลัพธ์อย่างน้อยสองรายการที่ฝังอยู่ในคำตอบของคุณ หากคุณสามารถโพสต์ผลลัพธ์จากภาพอินพุตทั้งหมดด้านล่างได้จะดีกว่า สามารถลดขนาดภาพทดสอบได้หากจำเป็นเพื่อให้ได้ gif ที่มีขนาดไฟล์เล็กพอ หากคุณต้องการเชื่อมโยงไปยังไฟล์ที่มีขนาดใหญ่ขึ้นเช่นกันก็ไม่เป็นไร หากคุณต้องการอวดอย่าลังเลที่จะค้นหาไฟล์ต้นฉบับที่มีความละเอียดสูงกว่านี้ โปรดพยายามหลีกเลี่ยงการมีพารามิเตอร์ที่สามารถควบคุมได้มากเกินไปในรหัสของคุณ - จะดีที่สุดถ้าโปรแกรมของคุณใส่ภาพเท่านั้น ข้อยกเว้นคือถ้าคุณต้องการให้พารามิเตอร์สำหรับการควบคุมจำนวนเฟรมภาพเคลื่อนไหวเนื่องจากจะมีผลต่อขนาดไฟล์ คุณสามารถใช้โปรแกรมภายนอกเพื่อเปลี่ยนรูปแบบของไฟล์อินพุตและเอาต์พุตและ / หรือคอมไพล์เฟรมเอาต์พุตเป็นภาพเคลื่อนไหวได้หากคุณต้องการ (นี่ไม่ใช่ความท้าทายในการจัดการรูปแบบไฟล์) นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้คะแนนมากที่สุดจะเป็นผู้ชนะ นี่คือภาพทดสอบที่เลือกส่วนใหญ่นำมาจากคำถามอื่น ๆ ในเว็บไซต์นี้ …

9
Quixels - Quantum Pixels
บทนำ quixel เป็นควอนตัมพิกเซล คล้ายกับพิกเซลแบบคลาสสิคมันมีค่าจำนวนเต็ม 3 ค่า (แดงเขียวน้ำเงิน) อย่างไรก็ตาม Quixels อยู่ในตำแหน่งสุดยอดของทั้ง 3 สถานะแทนที่จะเป็นชุดค่าผสม ตำแหน่งสุดยอดนี้จะคงอยู่จนกว่า quixel จะสังเกตเห็นว่าจุดใดที่มันยุบลงถึงหนึ่งในสามของพิกเซลคลาสสิค RGB(255,0,0), และRGB(0,255,0)RGB(0,0,255) สเปค การแสดง แต่ละ quixel จะแสดงเป็นอาร์เรย์ของจำนวนเต็ม 3 ระหว่าง 0 และ 255 ซึ่งเป็นr, gและbตามลำดับ ตำแหน่งสุดยอด แต่ละ quixel อยู่ในตำแหน่งที่ซุปเปอร์ระหว่างสีแดง, สีฟ้าและสีเขียวตัวแทนจากรัฐR, GและBตามลำดับ การสังเกต เมื่อสังเกตแต่ละ quixel มันจะยุบตัวเป็นหนึ่งในสามสถานะ น่าจะเป็นของแต่ละรัฐคลาสสิกR = (r + 1) / (r + g + b …

13
เรียงพิกเซล
งานของคุณคือการสร้างโปรแกรมที่จะให้ภาพอินพุตสร้างภาพเอาต์พุตที่มีขนาดเท่ากันโดยที่พิกเซลทั้งหมดจะถูกจัดเรียงตามค่าเลขฐานสิบหก โปรแกรมของคุณอาจ: จัดเรียงพิกเซลจากซ้ายไปขวาจากนั้นเลื่อนลงหรือเรียงลำดับแรกลงในคอลัมน์แล้วขวา ไม่ว่าในกรณีใดพิกเซลด้านบนซ้ายจะเล็กที่สุดและด้านล่างขวานั้นใหญ่ที่สุด ใช้ความโปร่งใส แต่ไม่จำเป็น จัดเรียงตาม RGB แต่คุณสามารถใช้ CMY หรือรูปแบบอื่น ๆ ที่มีค่าอย่างน้อย 3 ค่า คุณสามารถเลือกค่าที่จะเรียงลำดับ (HSV อาจให้ภาพที่ดี) ใช้รูปแบบภาพที่รู้จักกันดีซึ่งคอมพิวเตอร์ส่วนใหญ่สามารถเปิดได้ กฎ: เอาต์พุตต้องถูกเขียนไปยังดิสก์หรือสามารถไพพ์ไปยังไฟล์ได้ อินพุตถูกกำหนดเป็นอาร์กิวเมนต์ commandline ในรูปแบบของพา ธ ที่สัมพันธ์กับรูปภาพหรือไพพ์จาก commandline นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

6
Photomosaics หรือ: ต้องใช้โปรแกรมเมอร์กี่คนเพื่อเปลี่ยนหลอดไฟ?
เราได้รวบรวมกระเบื้องโมเสคของ 2025 headshots จากอวตารของผู้ใช้กองมากเกินด้านบน (คลิกที่ภาพเพื่อดูขนาดเต็ม) งานของคุณคือการเขียนอัลกอริทึมที่จะสร้าง photomosaic ที่ถูกต้องของรูปภาพอื่นโดยใช้อวตาร 48 × 48 พิกเซลจากกริด 45 × 45 ตัวนี้ ทดสอบภาพ นี่คือภาพทดสอบ แรกคือแน่นอนหลอดไฟ! (ภาพเหล่านี้ไม่เต็มขนาดคลิกที่ภาพเพื่อดูขนาดเต็มมีเวอร์ชั่นครึ่งขนาดให้บริการสำหรับThe Kiss , A Sunday Af บ่าย ... , Steve Jobs , และspheres ) ขอบคุณ Wikipedia สำหรับทุกคนยกเว้นทรงกลม raytraced ในขนาดเต็มภาพเหล่านี้จะมีขนาดที่หารด้วย 48 ภาพที่มีขนาดใหญ่กว่าต้องเป็น JPEG ดังนั้นจึงสามารถบีบอัดได้เพียงพอที่จะอัปโหลด เกณฑ์การให้คะแนน นี่คือการประกวดความนิยม การส่งภาพโมเสกที่แสดงภาพต้นฉบับได้อย่างแม่นยำที่สุดควรได้รับการโหวต ฉันจะยอมรับคำตอบที่โหวตสูงสุดในหนึ่งหรือสองสัปดาห์ กฎระเบียบ photomosaics ของคุณจะต้องประกอบด้วยอวตาร 48 …

4
Image Battle of Colors
ขอแสดงความยินดีกับ @kuroineko เพื่อผลงานที่ดีที่สุดและได้รับรางวัล 200 รางวัลจาก @TheBestOne (นักกีฬายอดเยี่ยม!) เขียนโปรแกรมให้มีสีมากที่สุดของภาพก่อนที่โปรแกรมฝ่ายค้านจะทำ กฎโดยย่อ โปรแกรมของคุณจะได้รับรูปภาพสีของคุณและจำนวนเต็ม N ทุกครั้งที่คุณได้รับการอัปเดตพิกเซลจากโปรแกรมอื่น ๆ และถามถึงการอัพเดท N ของคุณ คุณสามารถอัปเดตพิกเซลสีขาวที่อยู่ถัดจากพิกเซลสีของคุณ โปรแกรมที่เพิ่มจำนวนพิกเซลมากที่สุดชนะ กฎในรายละเอียด โปรแกรมของคุณจะได้รับชื่อไฟล์ภาพ PNG, สีบ้านและตัวเลข N จำนวน N คือจำนวนพิกเซลสูงสุดที่โปรแกรมของคุณอาจใช้สีในแต่ละตา ตัวอย่าง: MyProg arena.png (255,0,0) 30 ภาพอินพุตจะเป็นรูปสี่เหลี่ยมผืนผ้าที่มีด้านข้างยาวระหว่าง 20 ถึง 1,000 พิกเซล มันจะประกอบด้วยพิกเซลสีดำสีขาวและสี โปรแกรมของคุณอาจเลือกลำดับพิกเซลสีขาวเป็นสีของคุณเองโดยมีเงื่อนไขว่าพิกเซลใหม่แต่ละพิกเซลต้องมีพิกเซลเพื่อนบ้านอย่างน้อยหนึ่งในสี่ของพิกเซลสีของคุณเอง รูปภาพจะมีสีของคุณอย่างน้อยหนึ่งพิกเซล นอกจากนี้ยังอาจมีพิกเซลสีที่ไม่ได้กำหนดโปรแกรมไว้ ไม่ได้ใช้ช่องอัลฟา เป้าหมายของคุณคือเพื่อป้องกันคู่ต่อสู้ของคุณและเขียนสีของคุณเป็นพิกเซลมากเท่าที่คุณสามารถ แต่ละเทิร์นโปรแกรมของคุณจะยอมรับ 1 หรือมากกว่าหนึ่งบรรทัดข้อความบน STDIN และเขียนบรรทัดที่ประกอบด้วยพิกัดพิกเซลบน STDOUT จำไว้ว่าให้กำหนด STDOUT …

6
ทำคะแนนเส้นทางการแกว่งเถาไวน์ของทาร์ซาน
เถาองุ่นโอลิมปิกดำเนินการตามปกติในต้นไม้มาตรฐาน โดยเฉพาะอย่างยิ่งแผนภูมิมาตรฐานnมีจุดยอดสำหรับการ0ขึ้นn-1และขอบการเชื่อมโยงจุดยอดที่ไม่ใช่ศูนย์แต่ละจุดaกับจุดยอดn % aด้านล่าง ตัวอย่างเช่นต้นไม้มาตรฐาน 5 มีลักษณะดังนี้: 3 | 2 4 \ / 1 | 0 เนื่องจากส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 3 คือ 2 ส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 2 หรือ 4 คือ 1 และส่วนที่เหลือเมื่อ 5 ถูกหารด้วย 1 คือ 0 ในปีนี้ทาร์ซานจะได้รับการปกป้องทองของเขากับการปฏิบัติใหม่ซึ่งแต่ละเริ่มต้นที่ยอดn - 1ชิงช้าจุดสุดยอดn - 2ยังคงจุดสุดยอดn - 3ฯลฯ 0จนในที่สุดเขาปลดจุดสุดยอด คะแนนสำหรับกิจวัตรประจำวันคือผลรวมของคะแนนสำหรับการสวิงแต่ละครั้ง (รวมถึงการลงจากหลังม้า) และคะแนนสำหรับการสวิงคือระยะทางภายในต้นไม้ระหว่างจุดเริ่มต้นและจุดสิ้นสุด ดังนั้นรูทีนของทาร์ซานบนต้นไม้มาตรฐาน 5 มีคะแนน …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

20
ฟาโรสับเปลี่ยนอาเรย์
ฟาโรสับเปลี่ยนเป็นเทคนิคที่ใช้บ่อยโดยนักมายากลที่ "สับ" ดาดฟ้า เพื่อทำการสับไพ่แบบแฟโรคุณต้องตัดเด็คเป็น 2 ส่วนเท่ากันก่อน ตัวอย่างเช่น [1 2 3 4 5 6 7 8] แฟโรสับเป็น [1 5 2 6 3 7 4 8] สามารถทำซ้ำได้หลายครั้ง น่าสนใจพอถ้าคุณทำซ้ำครั้งนี้มากพอคุณจะกลับมาที่อาร์เรย์เดิมเสมอ ตัวอย่างเช่น: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

4
สร้างภาพซ้ำโดยใช้บรรทัด
เขียนโปรแกรมที่ถ่ายด้วยภาพ RGB สีจริงI , จำนวนเส้นสูงสุดในการวาดLและความยาวต่ำสุดmและความยาวMสูงสุดของแต่ละบรรทัด เอาท์พุทภาพOที่รูปลักษณ์มากที่สุดเท่าที่เป็นไปได้เช่นผมและวาดโดยใช้Lหรือเส้นตรงน้อยลงซึ่งทั้งหมดนี้มีความยาวระหว่างยุคลิดมและM แต่ละบรรทัดจะต้องเป็นหนึ่งสีทึบมีจุดปลายทั้งสองอยู่ในขอบเขตของOและวาดโดยใช้อัลกอริทึมเส้นของ Bresenham (ซึ่งห้องสมุดกราฟิกส่วนใหญ่จะทำเพื่อคุณแล้ว) แต่ละบรรทัดมีความหนาเพียง 1 พิกเซล ทุกบรรทัดแม้แต่ความยาว 0 ควรมีอย่างน้อยหนึ่งพิกเซล เส้นอาจถูกวาดทับกัน ก่อนที่จะวาดเส้นใด ๆ คุณอาจเริ่มต้นพื้นหลังของOเป็นสีทึบใด ๆ (ที่อาจขึ้นอยู่กับฉัน ) รายละเอียด Oควรจะมีขนาดเดียวกันกับผม Lจะเป็นจำนวนเต็มที่ไม่ใช่ค่าลบเสมอ มันอาจจะเป็นมากกว่าพื้นที่ของฉัน ม.และเอ็มจะไม่ติดลบตัวเลขทศนิยมกับM > =เมตร ระยะห่างระหว่างสองพิกเซลคือระยะ Euclidean ระหว่างจุดศูนย์กลาง หากระยะทางนี้น้อยกว่าmหรือมากกว่าMดังนั้นจะไม่อนุญาตให้มีบรรทัดระหว่างพิกเซลเหล่านั้น เส้นไม่ควรถูกลดรอยหยัก ความทึบและอัลฟาไม่ควรใช้ โปรแกรมของคุณไม่ควรใช้เวลามากกว่าหนึ่งชั่วโมงในการทำงานบนคอมพิวเตอร์ที่ทันสมัยในภาพที่มีขนาดน้อยกว่าหนึ่งล้านพิกเซลและLน้อยกว่า 10,000 ทดสอบภาพ แน่นอนว่าคุณควรแสดงภาพที่ถูกต้องหรือน่าสนใจที่สุดให้กับเรา (ซึ่งฉันคาดว่าจะเกิดขึ้นเมื่อLอยู่ระหว่าง 5% ถึง 25% ของจำนวนพิกเซลในIและmและMประมาณหนึ่งในสิบของขนาดทแยงมุม) นี่คือภาพทดสอบบางส่วน (คลิกเพื่อดูภาพต้นฉบับ) คุณสามารถโพสต์ของคุณเอง ภาพที่เรียบง่าย: นี่คือการประกวดความนิยม ผลงานที่ได้คะแนนโหวตสูงสุดชนะ …

4
ชีวิตอาจมีสีสัน!
แต่ละเซลล์ในหุ่นยนต์เซลลูล่าร์ที่มีชีวิตเหมือนต้องการเพียงหนึ่งบิตในการเป็นตัวแทนเพราะมันจะมีชีวิตอยู่หรือตายไปเท่านั้น นั่นหมายความว่ามีเพียงสองสี; ค่อนข้างน่าเบื่อ. ภาพปกติมี 24 บิตต่อพิกเซล (8 ในแต่ละ RGB) ซึ่งหมายความว่าในภาพปกติที่มีพิกเซลเป็นเซลล์คุณสามารถจำลองเกมเหมือนชีวิต 24 เกมได้ในครั้งเดียว! ท้าทาย งานของคุณคือการเขียนโปรแกรมที่จะใช้กฎหนึ่งรุ่นของหุ่นยนต์เซลลูล่าร์ที่เหมือนสิ่งมีชีวิตกับภาพความลึก 24 บิต (ในรูปแบบที่รู้จักกันดีที่คุณต้องการ) และส่งออกภาพผลลัพธ์ แต่ละเลเยอร์ทั้ง 24 เลเยอร์จะใช้กฏเหมือนเหมือนชีวิตอย่างเคร่งครัดภายในเลเยอร์ของตัวเอง 24 เลเยอร์ไม่โต้ตอบซึ่งกันและกัน ด้วย ศูนย์คือเซลล์ที่ตายแล้วและเซลล์นั้นเป็นเซลล์ที่มีชีวิต เงื่อนไขขอบเขตเป็นระยะ (ก่อตัวพรู) ขนาดรูปภาพใด ๆ ควรใช้งานได้ Input / Output โปรแกรมของคุณต้องใช้เวลา 3 ข้อโต้แย้งผ่าน stdin หรือบรรทัดคำสั่ง (หรือภาษาที่ใกล้เคียงที่สุดของคุณ): ชื่อของไฟล์ภาพอินพุต สตริงของตัวเลข 0 ถึง 8 ตามลำดับที่เพิ่มขึ้นซึ่งหมายถึงเมื่อเกิดเซลล์ใหม่: ถ้าหลักdอยู่ในสตริงแล้วเซลล์ที่ตายแล้วมามีชีวิตอยู่เมื่อพวกเขามีdเพื่อนบ้านที่อยู่อาศัย ตัวอย่าง: 3เป็นเรื่องปกติของชีวิต - เซลล์ที่ตายแล้วพร้อมกับเพื่อนบ้านที่มีชีวิต …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.