Questions tagged «image-processing»

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

5
告诉我月相!
挑战 给定月球图像作为输入,输出月球的相位。 月相 您的程序将以png格式提供这些图像之一,并且您必须完全按照给定的相位输出相位: new moon 十六进制转储 waxing crescent 十六进制转储 first quarter 十六进制转储 waxing gibbous 十六进制转储 full moon 十六进制转储 waning gibbous 十六进制转储 third quarter 十六进制转储 waning crescent 十六进制转储 输入值 输入将是240 px x 240 px png文件的路径,并且将是上面的图像之一。 图像字节保证是相同的。 获奖 最短代码胜出

11
生成特殊时期的图像
构造一个以以下形式输入的程序或函数 <width>, <height>, <color1>, <color2> 并产生输出,使得第一行在颜色的像素之间交替 <color1>且<color2>周期为<height>。对于随后的每一行,周期应为<height> - <row number>。请注意,<color1>总是始于行。 样本输出 输入120, 6, #000000, #FFFF00: 输入80, 50, #000000, #FFFF00: (为清晰起见,已对示例输出进行了缩放) 这是code-golf,因此以字节为单位的最短有效条目获胜。

1
脑力激荡图像
介绍 Braincopter是一种深奥的Brainf ***衍生物,可将Brainf ***程序编码为图像。作为2D语言,它使用两个附加命令。它们顺时针和逆时针旋转指令指针(最初指向右)。Braincopter非常类似于Brainloller,不同之处在于代替使用不同的颜色作为不同的命令,它代之以计算基于每个像素的RGB值的命令。 Braincopter根据公式计算每个像素 的命令N = (65536 * R + 256 * G + B) % 11,其中N是命令编号。从命令编号到Brainf ***命令的映射如下: 0 > 1 < 2 + 3 - 4 . 5 , 6 [ 7 ] 8 rotate instruction pointer to the right (clockwise) 9 rotate instruction pointer to the left …

1
这幅图中有多少个形状?
孩子们非常擅长对物体进行分类和计数。电脑似乎有更多麻烦。这是此问题的简化版本。您可以编写一个可以对图像中的对象进行分类和计数的小程序吗? 问题:给定一张图像包含一个或多个圆形和矩形,则返回2个整数,其中包含圆形和矩形的数量。 规则 输入图像将是您选择的任何位图格式的白色背景上的黑色图形。 图像的宽度和高度将在100到1000像素之间。 图形将完全包含在图像中。 数字将具有1像素的线宽。 图像将不使用抗锯齿功能。它们只会是白色的黑色。 人物可能会接触,相交或在另一个人物内部。 相交的图形最多具有4个公共像素。 圆的直径为20像素或更大。 矩形边的长度将为10个或更多像素。 您不得使用任何可识别形状的内置程序或库,也不得使用任何其他使此挑战变得微不足道的功能。 返回或打印2个带有圆形和矩形计数的整数。 例子1 答案:3 4 范例2: 答案:4 13 这是一场代码挑战赛,因此每种语言中最短的程序或功能将获胜。

3
查找姓名为Letter的其他会员
您可能已经看到这样的难题: 找到0: OOOOOOOOOOOOOOOOOOOO0OOOOOOOOOOOOOOOOOO 面临的挑战是编写一个程序,以找到给定图像的不同字母的索引。 输入值 输入将是Image。该图像将包括一条线的黑色文本黑体24磅。在白色背景上的字体。文本将由以下两个字符组成:一个重复的字符和一个仅出现一次的字符。例如: 输出量 输出将是Integer,是不同字符的索引。在上面的示例中,输出为4。(请注意,字符串的索引始于0) 程序规格 按照通常的代码高尔夫球赛,最短的程序获胜。 测试用例 => 10 => 11 => 5 => 16 => 10 => 21 => 20 => 13 => 11 => 4 => 7

5
我给正确的一和零组合发短信
我最近在歌曲“ 我是Textpert”中列出了有关开车时发短信的信息,歌曲中的某一行激发了这一挑战。 我从来不会弯腰到发短信的照片,而是发给正确的组合“ 1”和“ 0” 现在显然,这几乎是一件不可能的事情,因此您应该通过编码一个程序来做同样的事情来帮助全世界的textperts。 您的工作是获取具有500x500像素尺寸的图像文件的名称,并将该文件输出为二进制文件。如果语言支持,也可以将图像作为输入。 您可以使用带有扩展名的图像文件 .jpg .png .gif .bmp .svg 让我向不了解我的意思的人演示如何将图像转换为二进制图像。 步骤1 取文件中的第一个像素,并将其RGB值检索为3个十进制数字:R,G和B。例如,假设第一个像素为255,0,0(红色)。 第2步 将每个数字转换为其8位二进制表示形式,然后连接为单个24位数字。例如,这产生111111110000000000000000 第三步 将这个24位数字添加到最终输出中。因此,最终输出应是6000000位长,并应包括完全1和0 这是一个 代码高尔夫球 最短的代码胜出!

15
这是什么颜色?
您要打高尔夫球的程序将以文件名作为输入,并且必须输出文件的颜色。 该文件将具有这些扩展名中的任何一个,但您的程序仅需要支持一个。请说出答案中的哪一个。 .jpg .png .svg .gif .bmp 现在到经典布局。 输入项 具有上述扩展名之一的文件名。 您也可以取一个图像对象或已编码的图像。 输出量 该文件中唯一的颜色是6位十六进制代码,带有可选的前导,#例如#000000黑色。 您还可以输出包含RGB颜色的十进制或十六进制值的列表/元组/字符串,并带有清晰的非数字定界符,例如 , |etc 您可能不输出透明度。 如果文件不是所有颜色,则必须输出一个不是的假值,#000000并在不打印任何内容的情况下终止STDERR。这样一来,您就不能简单地打开文件并获取第一个像素的RGB值。 规则 仅当文件为一种颜色时才需要输出十六进制代码。 该文件将是500x500像素 像素将全部具有0%的透明度。 这是 代码高尔夫球 最短的代码胜出! 例子 #16C293 #8B16C2 #959090 #84F00C 虚假价值

4
“监视”图像
问题: 这个挑战来自我遇到的一个实际问题。我正在使用双显示器设置,我想使用以下图像作为墙纸: 但是,我的显示器有很大的边框,当我设置背景时,它看起来像这样,在码头上出现(更平?)被打破了: 我可以通过以下方式解决此问题:将中心切出,然后将其拉伸回原始大小,如下图所示: 挑战: 编写一个程序,以获取图像并“监视”它以用于双显示器设置(即删除图像的中央部分,即边框所在的位置)。规则如下: 它必须是一个完整的程序,它可以以路径(字符串参数等)或文件选择器对话框的形式接受图像。 程序必须以垂直线的数量(宽度为一个像素)为输入,以从图像中心切出 裁切必须来自原始图像的中心(横向) 结果图像必须重新缩放为输入图像的原始大小。(可以分别对这两个半部分进行缩放,然后进行级联,或者对这些半级进行合并,然后进行缩放。单独进行缩放可以产生更好的图像/效果,但是在现实世界中很难注意到) 背景图像通常是偶数的,因此,为了使此挑战更容易,输入图像将仅具有偶数个像素,并且要删除的行数也将仅是偶数。 这项挑战就是代码高尔夫-以字节为单位的最短代码获胜 祝好运!

6
图像的反向拜耳滤波器
几乎所有的数码相机传感器都组织在一个光电传感器网格中。每个光电传感器都对三种原色之一敏感:红色,绿色和蓝色。这些光传感器的组织方式被称为拜耳滤镜,其发明者伊士曼·柯达(Eastman Kodak)的布莱斯·拜耳(Bryce Bayer)。拍摄图像后,四个光电传感器组成最终图像中一个像素的RGB值。您的任务是反转该过程,并根据其像素的滤镜颜色为其着色。为了简单起见,我们将忽略伽马校正。 例如:“常规”正向拜耳过滤器步骤为: 潘通蜂蜡色的光线照射到传感器上; BGGR(蓝-绿/绿-红)滤镜将其分解为四射线。 四个光线照射到传感器上,显示为:81-168/168-235(传感器值范围为0-255); 拜耳滤镜将其转换为一个具有颜色(235、168、81)的RGB像素。 反向拜耳过滤器步骤为: 颜色(235、168、81)的RGB像素被分为四个具有RGB值的像素:(0,0,81)-(0,168,0)/(0,168,0)-(235,0,0)。 挑战 您应该编写执行以下操作的最短函数或程序: 像输入一样获取文件名,然后输出DeBayered图像。 输出可以写入文件或显示在屏幕上。 输出必须是原始图像宽度的两倍和高度的两倍。 输入图像的每个像素必须根据BGGR(蓝-绿/绿-红)Bayer滤镜模式进行映射,如下图所示: 我们假设两个绿色光电传感器都接收到相同的信号,因此拜耳矩阵中的两个G值都等于RGB图像中的G值。 您可能不会返回结果图像的数组表示形式。输出必须是可以显示为图像的图像或文件(任何合适的图像格式)。 例 给定此文件作为输入: 生成的图像应为: 参考python实现: from PIL import Image import numpy import sys if len(sys.argv) == 1: print "Usage: python DeByer.py <<image_filename>>" sys.exit() # Open image and put it in a numpy array …

2
编写一个GIF编码器
是的,很好的旧GIF。GIF因其多功能性而广受青睐,由于对其专利(和专利)的局限性而讨厌其专利,因此GIF的核心是调色板和使用LZW算法压缩的调色板索引图像。 您的任务是编写一个程序,该程序从标准输入读取ASCII PPM格式的图像(“ P3”幻数),然后将GIF格式的同一图像(逐像素相同)写入标准输出。输出可以是二进制形式,也可以是ASCII文本,每个字节由0到255(含)之间的数字表示,并用空格分隔。 确保输入图像的颜色不超过256种。 得分: 您的程序将在3个样本图像上进行测试,您的得分将计算为: 程序大小+总和(输出大小-每个样本图像的参考大小) 得分最低。 要求: 您的程序必须可以处理各种尺寸的任何相似种类的图像,并且不仅限于示例图像。例如,您可以将尺寸限制为2的倍数,或假设ppm最大颜色为255,但它仍应适用于各种输入图像。 输出必须是可以与任何兼容程序一起加载的有效GIF文件(如果使用ASCII输出选项,则转换回二进制文件之后)。 您不能使用任何图像处理功能(内置或第三方),您的程序必须包含所有相关代码。 您的程序必须可以使用免费软件在Linux中运行。 源代码只能使用ASCII字符。 样本图片: 这是将用于评分的3个示例图像。您可以下载包含ppm文件的zip存档(使用该页面顶部的下载按钮)。或者,您可以使用ImageMagick通过以下命令从下面的png图像中转换它们: convert file.png -compress none file.ppm 我还提供了ppm文件的MD5校验和以供确认。 1.琥珀色 参考大小 :38055 MD5 ppm校验和:d1ad863cb556869332074717eb278080 2.蓝眼睛 参考大小: ppm的28638 MD5校验和:e9ad410057a5f6c25a22a534259dcf3a 3.辣椒 参考大小: ppm的53586 MD5校验和:74112dbdbb8b7de5216f9e24c2e1a627

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像素。 例 输入A: 输入B: 输出示例: (如果有人感兴趣,我从随机公司的股票图表中复制粘贴了这些数据。这是我发现以CSV格式获取真实数据的第一种方法。) 规则 您可以选择任何位图图像输入文件格式。 您可以选择任何位图图像输出文件格式,而不必匹配输入。 您可以使用图像处理库,但是禁止直接完成此任务的任何功能。 有标准漏洞。 这是 代码高尔夫球,因此以字节为单位的最短代码获胜。 图生成器脚本 这是一个生成图的Python 2脚本。输入以行形式给出,前三行作为RGB颜色,其余三行作为数据,以EOF终止。 import PIL.Image as image import sys if len(sys.argv) < 2: sys.stderr.write("Usage: graphgen.py <outfile> …
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.