Questions tagged «image-processing»

这些挑战涉及通过以某种方式更改它们,收集统计信息或其他图像处理任务来处理预先存在的图像文件。

2
阻碍勒普顿压缩
Dropbox最近发布了Lepton(GitHub),该方法可无损地压缩JPEG图像往返,平均节省22%。 由于信鸽原理,不能保证任何常规的压缩算法都会导致文件更小(一般是因为它不适用于限制为特定格式的输入)。Lepton充分利用了JPEG的共同特征,如果这些特征被颠覆了,可能会导致其产生比源更大的文件。 要求 编写一个生成以下内容的程序: 有效的JPEG / JFIF图像, 大小介于0.5 MB和1 MB之间, 不小于256×256 px, 不大于4096×4096像素, Lepton可以识别(它可以成功地“压缩”为.lep图像),并且 解压缩为相同的 .jpg(作为输入)。 APPx,COM以及其他元数据,非图形标记部分在JPEG中受到限制(向图像中注入任意数量的随机字节以渐近地接近1:1压缩是la脚的。) 允许使用APP0JFIF标记,但不允许使用缩略图(应为16个字节) tl; dr如果您不是故意将元数据推入EXIF段中,并且禁用了您希望选择的语言库想要放入图像的任何缩略图,那应该没问题。 发布代码和图像。 如果要编写一个生成Lepton图像的程序,该程序在转换时会产生符合条件的JPEG,那就很好。在任意多个JPEG→轻子→JPEG→...循环中,它必须保持相同。 计分 Lepton图像的字节大小除以源JPEG图像。更高(更轻的Lepton压缩)更好。使用默认标志和开关运行Lepton。 到达莱普顿 5秒钟的速成课程来构建Lepton: git clone https://github.com/dropbox/lepton.git cd lepton ./autogen.sh && ./configure && make # fish shell: ./autogen.sh ;and ./configure ;and make 那./lepton --help应该告诉你的事情。

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

6
追踪图像的色调
将图像加载到该堆栈片段中,然后将鼠标移到该片段上。将绘制一条从您的光标点开始跟随色相角的黑色曲线: <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>canvas{border:1px solid black;}</style>Load an image: <input type='file' onchange='load(this)'><br><br>Max length <input id='length' type='text' value='300'><br><br><div id='coords'></div><br><canvas id='c' width='100' height='100'>Your browser doesn't support the HTML5 canvas tag.</canvas><script>function load(t){if(t.files&&t.files[0]){var e=new FileReader;e.onload=setupImage,e.readAsDataURL(t.files[0])}}function setupImage(t){function e(t){t.attr("width",img.width),t.attr("height",img.height);var e=t[0].getContext("2d");return e.drawImage(img,0,0),e}img=$("<img>").attr("src",t.target.result)[0],ctx=e($("#c")),ctxRead=e($("<canvas>"))}function findPos(t){var e=0,a=0;if(t.offsetParent){do e+=t.offsetLeft,a+=t.offsetTop;while(t=t.offsetParent);return{x:e,y:a}}return void 0}$("#c").mousemove(function(t){function e(t,e){var a=ctxRead.getImageData(t,e,1,1).data,i=a[0]/255,r=a[1]/255,o=a[2]/255;return Math.atan2(Math.sqrt(3)*(r-o),2*i-r-o)}if("undefined"!=typeof img){var a=findPos(this),i=t.pageX-a.x,r=t.pageY-a.y;$("#coords").html("x = "+i.toString()+", y = "+r.toString());var o=parseInt($("#length").val());if(isNaN(o))return void …

20
分解一个数字!
您的任务是使用以下格式分解数字。 这与基本转换类似,不同之处在于digits,您列出了values,而不是在基本列表中列出,这样列表就加到了输入上。 如果给定的基为n,则列表中的每个数字都必须采用的形式k*(n**m),其中0<=k<n和m在整个列表中都是唯一的。 眼镜 任何合理的输入/输出格式。您的程序/功能需要2个输入并输出一个列表。 输出列表可以是任何顺序。 0 可以排除或包含。 0允许领导。 允许内置。 测试用例 number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

4
使美国(n个地图)再次伟大
新奖金!(见下文) 美国共和党总统候选人本·卡森(Ben Carson)的制图小组的地图遇到了一些麻烦(图片来自《华盛顿邮报》): 问题在于他们没有适用于Job™的正确工具。他们需要最紧凑,最可靠的程序,因此不必担心再次制作地图。这就是他们雇用您的原因。您需要拍摄此地图,然后以所需的颜色再次输出它: 通过Theshibboleth [GFDL(http://www.gnu.org/copyleft/fdl.html)或CC-BY-SA-3.0(http://creativecommons.org/licenses/by-sa/3.0/)],通过维基共享资源 如果您不知道所有州的位置(因为您不是美国人...或者您是美国人),那么下面是一张包含所有名称的地图(此挑战不需要华盛顿特区): “带有州名2的美国地图”。通过Wikimedia Commons在CC BY-SA 3.0下获得许可-https://commons.wikimedia.org/wiki/File:Map_of_USA_with_state_names_2.svg#/media/File: Map_of_USA_with_state_names_2.svg 例如,如果输入为Ohio, Indiana, Illinois;New York, New Jersey, Florida,则输出: 空白地图图像有SVG和PNG格式。为方便起见,以下是按字母顺序排列的所有50个州的列表 这是代码高尔夫球和图形输出的挑战。输出必须为SVG或图像文件。仅在屏幕上显示输出是不够的。输入必须来自STDIN或读取文本文件。我对如何设置输入的格式很灵活,尽管它应该包含每个州的全名,但红色(共和党)州名列第一,蓝色(民主)州名列第二。可以接受红色和蓝色的任意两种不同的阴影。当然,您可以使用所需的任何文件名将空白地图图像与程序放在同一文件夹中。 准确性标准 如果您的输出是栅格文件,则其大小必须至少为800px x 495px,并且这些行不应偏离将SVG缩放到相同大小超过1.5像素的结果。如果您的输出是矢量文件,则当两行都缩放到800px x 495px时,行与SVG的偏差不应超过1.5个像素。 奖金! Ben试图减少对外国图书馆的依赖,现在向只使用地图的光栅图形版本作为输入并创建自己的区域检测算法的人提供-50%的奖励。最终,由我的判断决定您的方法是否算作“编写自己的”算法。 祝好运!

1
溜槽
这是梨和钢 溜槽的五幅图像: A:B:C:D:E: 这些只是缩略图,请单击它们以查看完整尺寸! (我是用Algodoo制作的。) 此类图像始终具有以下属性: 它们始终是白色背景的400×400像素。(由于SE图像有损压缩,因此可能不是完全白色。) 它们有1至4个相同的梨,每个梨都以(几乎)任何方式旋转和定位。 他们有一个垂直的钢制斜槽,直达图像的底部。 除了滑槽的底部以外,滑槽和梨形边界框(例如边界框)永远不会触碰或超出图像边界。 梨的边界框永远不会相互重叠,也不会与斜槽重叠。 如在B,C和D中,梨可能在滑槽的倾斜部分下面。(因此,溜槽的边界框可能与梨的边界框重叠。) 溜槽可以有任何水平和垂直位置,只要有足够的空间让梨的所有包围盒自由地放置在其上即可(不会测试“几乎不适合”的情况),并且可以看到部分圆柱。 挑战 编写一个程序,获取这样的图像,并在相同的位置放置滑槽,再输出另一个400×400的图像,但是将梨重新放置,使它们都位于滑槽的上方(这样它们就可以掉入其中并被榨汁,没什么)。 输出图像的要求是: 输入图像中的所有梨都必须重新放置,以使其位于滑槽上方,漏斗左右边缘之间。(以上的边缘是不正常。) 每个梨必须保持其旋转角度。(因此,您应该剪切和粘贴梨子,而不是重新绘制它们。) 梨不得重叠或彼此接触或与滑槽接触。(但是,梨形边框可能会重叠。) 梨不能触摸或超出图像范围。 以下是这五个样本图像的有效输出示例: A:B:C:D:E: 这些只是缩略图,请单击它们以查看完整尺寸! 请注意,E的输入图像已经是有效的输出,但是在技术上不必要时重新排列梨就可以了。 细节 通过stdin /命令行/函数调用获取图像的文件名或原始图像数据。 将图像输出到具有您选择的名称的文件,或将原始图像文件数据输出到stdout或仅显示图像。 可以使用任何常见的无损图像文件格式。 可以使用图形和图像库。 到处都有一些不正确的像素(由于有损或其他原因)并不重要。如果我无法从视觉上分辨出任何错误,那么可能就可以了。 以字节为单位的最短代码获胜。Tiebreaker是票数最高的职位。

3
您称它为居中,我称其为Code Golf
“让我们面对现实吧,对齐的图像就像来自天堂的小礼物。欢迎,但出乎意料。” -地球位 赢得挑战者可获得10000点声望。 规则: 1)您将生成一个程序。 2)输入将是图像,但是输入是作为文件传递还是由数字列表决定。 3)输出将是一个文件,该文件在用油漆(或类似物品)打开时将显示对齐的图像。 4)画布大小将始终在100 x 100和2000 x 2000像素之间。它将始终是矩形,但并不总是正方形。 5)没有图像的硬编码或时髦的URL魔术。 6)无需使用外部库。 集中化指南(Joshpbarron变体) 如果轴上的第一个白色(255,255,255,> 0 rgba)或透明(x,y,z,0 rgba)与画布边缘的距离相等(正负1个像素),则图像将被定义为居中。 这可以通过以下方法来实现(并将通过以下方法进行验证)。 1)想象一下对象周围的边界框。(添加黑线以寻求帮助) 2)移动对象,直到对象的边缘与画布的适当边缘相等的距离。 3)现在忘记黑线。 输入: 输出: 这里有更多输入。 以及各自的输出在这里。 +10000代表是谎言。

5
蒙德里安绘画描述语言
挑战在于为Mondrian绘画描述语言(MPDL)编写解释器。 语言定义 该语言在矩形堆栈上运行。矩形由其左上坐标和右下坐标定义。坐标必须是整数。使用具有属性的单个矩形初始化堆栈(1,1,254,254) 每个命令具有以下格式: <character><integer> 有以下三个命令: v<integer>:在参数中指示的位置(以百分比表示)上对堆栈中的最新矩形执行垂直分割。将源矩形从堆栈中删除,并替换为拆分产生的两个新矩形。左边的矩形被压入堆栈,然后是右边的矩形。由于矩形坐标是整数,因此分数应四舍五入为最大的较小整数。 h<integer>:水平分割。顶部矩形被压入堆栈,然后底部矩形被压入堆栈。 c<integer>:从堆栈中删除最新的矩形,并将其绘制为参数指定的颜色。1 =白色,2 =红色,3 =蓝色,4 =黄色 挑战 编写一个程序,将绘制说明作为参数,并创建绘制矩形的256x256位图表示形式。矩形必须以3像素的黑线分隔。一个或两个像素矩形应使其非黑色像素被边框黑色像素隐藏。 输入可以作为参数或文件读取,由您决定。命令应以空格分隔。您可以假定输入文件的语法正确,并且没有尾部或前导空格,制表符等。输出可以直接显示在屏幕上,也可以保存到文件,由您自己决定。 最短的代码获胜。 测试 以下来源: v25 h71 v93 h50 c4 c1 c1 c2 h71 c3 h44 c1 c1 应产生红色,蓝色和黄色的成分II:

4
骑士填充网格
骑士填充是利用骑士棋子的连通性进行的洪水填充。特别: 1 1 1 1 0 1 1 1 1 (0是初始点,1s表示连接的单元格) 挑战 给定空间和墙壁的2D网格以及初始位置,请对该网格执行骑士填充。最短的代码获胜。 规则 您可以采用任何喜欢的格式(图像,字符串,数组等)输入并产生输出。您可以将初始位置作为输入网格的一部分或作为单独的坐标。为了便于说明,将使用以下格式: ######## # = wall ######## x = initial location ## x ## ## ## ######## ## ## ######## ######## 输出是输入栅格的副本,其中添加了骑士填充结果 您的填充不得与空间或墙壁使用相同的“颜色”,而应与初始位置标记相同。例如,给定上面的图像,有效的输出将是: ######## # = wall ######## @ = fill (could also have been x) ## …

2
钝化图像
介绍 坦白说,尖锐的边缘很危险,因此,如果输入PNG,请使用以下所述的方法模糊图像,并钝化那些锐利的尖锐边缘。 方法 要获取每个像素的RGB值,请使用以下三个公式: R = 1.5 × ∑ña = 1[R2一种ñ------------√[R=1.5×∑一种=1个ñ[R一种2ñR = \sqrt{\frac{1.5\times\sum^n_{a=1}R^2_a}{n}} G = 1.5 × ∑ña = 1G2一种ñ------------√G=1.5×∑一种=1个ñG一种2ñG = \sqrt{\frac{1.5\times\sum^n_{a=1}G^2_a}{n}} B = 1.5 × ∑ña = 1乙2一种ñ------------√乙=1.5×∑一种=1个ñ乙一种2ñB = \sqrt{\frac{1.5\times\sum^n_{a=1}B^2_a}{n}} 其中∑ña = 1[R2一种∑一种=1个ñ[R一种2\sum^n_{a=1}R^2_a是每个相邻像素的红色值的平方之和。ññn的值是相邻像素的数量(例如,角像素的ññn值为3,而图像中心周围的像素的ññn值为8)。 相邻像素是在所有方向(左,右,上,下和所有对角线)上均距原始像素1个像素的像素。 例如,在以下3 x 1图像中: 中间像素的RGB模糊值将为: R = 1.5 * (02+ 02)2------------√= 0[R=1.5∗(02+02)2=0R = \sqrt{\frac{1.5*(0^2+0^2)}{2}} = 0 …

2
图像捉迷藏
在这一挑战中,您需要在照片中找到特定像素(用真实相机拍摄)。 您将传递一个(R,G,B)元组和一个图像,并且需要在图像中返回一个与给定RGB颜色匹配的点(x,y)。图像可能具有与颜色匹配的多个点。您只需要找到1。 的挑战是,你需要做的是在阅读的几个像素越好。您的分数将是在所有测试用例中读取的像素总数。 如果愿意,只要不对像素进行任何处理,就可以将整个图像读取为RGB值数组。我完全出于效率目的而允许这样做。例如,在Python中list(Image.open("image_name+".jpg").convert("RGB").getdata())就可以了。 不允许硬编码位置。您的算法不仅适用于下面列出的测试用例,还应能很好地工作。不允许在测试用例之间保存数据。我选择<10了在图像中不经常出现的RGB值()(以免影响您的算法)。如果您在算法中使用随机性,请设置一个种子,以使分数保持恒定。 图片可以在Github上找到 测试用例: image_name: (r, g, b) [all possible answers] barn: (143,91,33) [(887,1096),(2226,1397),(2007,1402),(2161,1508),(1187,1702)] (53,35,59) [(1999,1260)] (20,24,27) [(1328,1087),(154,1271)] (167,148,176) [(1748,1204)] (137,50,7) [(596,1498)] (116,95,94) [(1340,1123)] (72,49,59) [(1344,857),(1345,858),(1380,926),(1405,974),(1480,1117)] (211,163,175) [(1963,745)] (30,20,0) [(1609,1462),(1133,1477),(1908,1632)] (88,36,23) [(543,1494),(431,1575)] daisy: (21,57,91) [(1440,1935),(2832,2090),(2232,2130),(1877,2131),(1890,2132)] (201,175,140) [(1537,1749),(2319,1757)] (169,160,0) [(2124,759)] (113,123,114) [(1012,994),(2134,1060),(1803,1183),(1119,1335)] (225,226,231) [(3207,829),(3256,889),(3257,889),(1434,981),(2599,1118),(2656,1348),(2656,1351)] (17,62,117) [(2514,3874),(2336,3885)] (226,225,204) [(3209,812)] …

18
倒置png图片
创建以文件名作为参数或从标准输入中读取文件名的程序或函数,并完成以下任务: 从png文件(名称作为参数)中读取图像。 反转该图像中的颜色,以便例如深绿色(0、75、30)变为(255、180、225)(因为255-0 = 255、255-75 = 180和255-30 = 225)。您不应更改Alpha通道值。 将该图像输出到一个名为a.png(png格式)的文件,或在GUI窗口中显示。 这是代码高尔夫球。有标准漏洞。

3
标记基于堆栈的语言
我一直在研究另一种称为Stackgoat的基于堆栈的高尔夫语言。在这个挑战中,您将为Stackgoat(或实际上是任何通用的基于堆栈的语言)编写Tokenizer。 例子 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 规格 您需要处理的三种类型是: 弦乐,什么内"" 数字,任何数字序列 运算符,除空格外的任何其他单个字符 除非将其留在字符串中或将两个数字分隔开,否则实际上将忽略空格。 字符串/字符规范: 字符串以分隔",当\遇到时,下一个字符应转义。 字符前面加a ',后面的字符'应转换为字符串文字。'a->"a" ' 后面总会有一个角色 右引号应自动插入 规则: 没有形式eval允许 输入输出: 可以通过STDIN,函数参数或您的语言等效输入。 输出应为数组或您的语言最接近的等效数组。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

4
10、10、10 ...我希望吗?
前言 当我今天早些时候在射箭900圈时(10头结束时每箭6箭,10头结束时每箭3箭,总共90箭,最高得分900),我想到了这一挑战。 在射箭比赛中(假设您使用FITA提供的目标面孔 [射击的纸张]射击),对于每个箭头,您的最高得分为10。目标面孔包含10或11个直径逐渐减小的环,彼此嵌套。从内圈向外,从10点算到一个点(在11个圈的情况下,存在第二个最里面的圈,记为“ X”,得分为10,但在打破平局的情况下使用:较高的值)。观察: 当然,我指的是FITA度量标准评分,如上图所示。如果仔细观察,您可能会看到最里面的环,它是一条淡淡的虚线,其分数未标记。那就是我所指的“ X”,但是除非您争夺奖金,否则您不必理会。 挑战 创建一个函数(或完整程序,如果该语言不支持该函数),则接收一个完美的正方形图像作为输入(或图像文件名,如果需要的话),其中包含一定数量的绿色(十六进制#00FF00,RGB(0, 255,0))点的大小,并返回分数。图像中可能包含绿点以外的数据,但绿色始终是完全相同的阴影。 您可能会想像正方形图像代表目标脸,最外面的环在4个点(顶部中心,底部中心,右中心,左中心)接触。所表示的目标面部将始终具有相同的比例,所有环的宽度都恰好是输入目标图像宽度的1/20。例如,给定输入尺寸为400px x 400px的输入图像,您可以假定每个环的内部宽度均为20px,如下所示: 澄清说明 如果触摸两个单独的环,则计算两个环中的较高者 您无需自动解决未命中或“ x”的情况,除非尝试获得奖金 您可以假设没有绿色圆圈重叠 您还可以假设图像中没有其他那种绿色阴影的像素 图片将采用PNG,JPEG或PPM格式(您可以选择) 如果在发布此问题之前进行创作,则允许使用外部图像处理库 您可以假设一个目标上的所有绿色圆圈的直径相同 如果拍摄(哈哈)重叠的圆圈奖励,则可以假设图像中至少一个圆圈没有另一个重叠的圆圈 不允许出现标准漏洞 测试用例 以下两种情况应分别获得52分(或在奖金为52分时有1个“ x”和1个未中): 最后一个测试用例应得分25: 奖金 如果还返回未命中数(在任何环之外),则为-25个字节 如果您还返回Xs的量,则为-30个字节(假设最里面的x是图像宽度的3/100,然后10是图像宽度的2/100。1-9的比例保持不变) 如果您考虑重叠的圆圈,则字节计数为-35% 这是代码高尔夫球,因此最少的字节获胜。玩得开心!

5
识别ASCII艺术编号
挑战 识别ASCII艺术编号。为了使事情变得有趣,可能会翻转图像中的三个随机点。例如: ***** * ** ** ** ** ** 输入值 以下Python脚本生成的7x7 ASCII艺术编号。 输出量 一个数字。 测试脚本 这是生成测试用例的Python脚本(2.6+): import random digits = '''\ *** ** ** ** ** ** ** ** ** ** ** *** * *** * * * * ***** *** * ** * ** ** ** ****** *** * …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.