相关疑难解决方法(0)

在控制台应用程序中显示图像

我有一个管理图像的控制台应用程序.现在我需要在控制台应用程序中预览图像.有没有办法在控制台中显示它们?

以下是当前基于字符的答案的比较:

输入:

在此输入图像描述

输出:

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

c# console image

79
推荐指数
5
解决办法
4万
查看次数

组织毡尖笔:通过相邻项目的相似性优化 2D 网格中项目的排列,使用 JS [更新]

UPD:问题已经更新了细节和代码,见下文。

警告:这个问题是关于优化矩阵中项目的排列。这不是比较颜色。最初,我决定提供有关我的问题的上下文会有所帮助。我现在后悔这个决定,因为结果恰恰相反:关于颜色的无关紧要的谈论太多,而对实际算法几乎没有。


我为我的孩子准备了一盒 80 支毡尖笔,这让我很恼火,以至于它们没有分类。

在此处输入图片说明

我曾经在 Android 上玩过一个叫做 Blendoku 的游戏,你需要这样做:以形成渐变的方式排列颜色,附近的颜色最相似:

在此处输入图片说明

像填字游戏一样在交叉线上组织颜色既简单又有趣。但是有了这些草图标记,我就有了一个完整的 2D 网格。更糟糕的是,颜色不是从均匀渐变中提取的。

这让我无法凭直觉对毡尖笔进行分类。我需要用算法来做!

这是我所拥有的:

  • 扎实的 JavaScript 知识
  • 所有笔的颜色值的平面数组
  • 功能 distance(color1, color2),显示一个颜色对是如何相似。它返回一个浮点数0100where0表示颜色相同。

我所缺少的只是一个算法。

阶乘80是一个 118 位的数字,它排除了暴力破解。

可能有一些方法可以使暴力破解可行:

  • 固定几支笔的位置(例如在角落)以减少可能的组合数量;
  • 删除包含至少一对非常不同的邻居的分支;
  • 找到第一个满意的安排后停止。

但我仍然缺乏一个实际的算法,更不用说一个非暴力的算法了。

PS作业:

更新

目标

在 8×10 网格中排列一组预定义的 80 种颜色,使颜色形成漂亮的渐变而不会撕裂。

由于以下原因,这个问题没有明确的解决方案,可能的解决方案容易产生不完美的结果和主观性。这是预期的。

请注意,我已经有一个函数可以比较两种颜色并说明它们的相似程度。

色彩空间是 3D

人眼具有三种类型的感受器来区分颜色。人类色彩空间是三维的(三色)。

描述颜色有不同的模型,它们都是三维的:RGB、HSL、HSV、XYZ、LAB、CMY(请注意,CMYK 中的“K”只是必需的,因为彩色墨水并非完全不透明且价格昂贵)。

例如,这个调色板:

HS调色板

...使用极坐标,角度为色调,半径为饱和度。没有第三维(亮度),这个调色板缺少所有明亮和黑暗的颜色:白色、黑色、所有灰色(除了中心的 50% 灰色)和有色灰色。

这个调色板只是 HSL/HSV 色彩空间的一小部分:

在此处输入图片说明

不可能在不撕裂渐变的情况下以渐变的方式在 2D …

javascript arrays algorithm matrix mathematical-optimization

36
推荐指数
4
解决办法
750
查看次数

最"稳定"的颜色表示:RGB?HSV?CIELAB?

计算机科学中有几种颜色表示:标准RGB,还有HSV,HSL,CIE XYZ,YCC,CIELAB,CIELUV ......在我看来,大多数时候,这些表示试图近似人类的视觉(颜色)在感知上相同应该有类似的表示)

但我想知道的是,在图片方面,哪种表现最为"稳定".我有一个物体,比方说一瓶可乐,我有几千张这瓶的照片,在不同情况下拍摄(主要区别在于照片的亮度或暗度,但有方向等等...... )

我的问题是:什么颜色表示将凭经验给我最稳定的瓶子颜色表示?标签的"红色"颜色不应有太大变化.好吧,我知道它会有所不同,但我想知道最"稳定"的表现形式.

我已经被告知HSV对于这些东西比RGB更好,但我对其余部分一无所知.


编辑(技术细节):我采取瓶子的特定点.我在这一点的一千张照片中选择了相应的像素.我现在有一堆积分,取决于表现形式.我希望表示最小化此云的"大小",例如最小化云点到其重心的平均距离的表示.

opencv colors computer-vision

21
推荐指数
2
解决办法
7363
查看次数

使用JS在两个值之间的色差/相似度%

我需要计算两个十六进制颜色值之间的差异,因此输出是一个百分比值.我放弃的第一件事是将十六进制值转换为十进制,因为第一个将比最后一个具有更高的权重.

第二个选项是计算每个RGB值之间的差异,然后将它们全部添加.然而,之间的差别0, 0, 030, 30, 30比之间的一个低得多0, 0, 090, 0, 0.

这个问题建议使用YUV,但我无法弄清楚如何使用它来建立差异.

另外,这个问题有一个很好的公式来计算差异并输出RGB值,但它并不完全存在.

javascript colors

13
推荐指数
4
解决办法
8729
查看次数

从十六进制值中检测类似的颜色

有没有人知道采用两个十六进制颜色值并返回某种索引来说明颜色有多相似的方法?例如,两种黄色可能会返回更高的指数,即它们比灰色和黄色更相似?

(我使用javascript,但猜这样的东西将是一个独立于语言的公式/算法)

javascript colors

5
推荐指数
1
解决办法
3209
查看次数

Python PIL - 寻找最近的颜色(圆角颜色)

有一款叫做Roblox的游戏,游戏玩家可以玩游戏,通常是看起来像乐高积木的游戏.

在Roblox中,对于Brick颜色,您可以使用典型的RGB值,但这需要一个在文件大小方面效率不高的附加元素.BrickColor不是使用RGB值,而是文件大小更经济.它使用整数来解释为某种颜色.这就是我的意思: 颜色代码

这是我的代码片段:

import Image
f = raw_input('Image:\n')
im = Image.open(f)
rgb_im = im.convert('RGB')
r, g, b = rgb_im.getpixel((x, y))
Run Code Online (Sandbox Code Playgroud)

在我的程序中,我需要找到最接近RGB值的颜色代码.

这怎么可能实现?

python colors rounding roblox python-imaging-library

5
推荐指数
2
解决办法
5268
查看次数