问题标签 [indexed-image]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 将调色板应用于纹理
在许多愚蠢的问题后更新
目标:应用纹理调色板意味着 GL 着色器(模拟 Indexed8 纹理格式)。互联网上到处都是关于某个主题的文章,并且都包含相同的解决方案。我有它,不幸的是,它对我不起作用。
所以。
片段着色器:
顶点着色器:
这是我的结果(左 - 我的照片,右 - 原始):
该死的,我只是设置了不正确的顶点坐标!>.<
感谢试图帮助的好人。现在我知道这与 texture2d 和 fetchTexel 不同,并找到了问题的原因!丁:
python - 有没有办法合并索引 pygame.Surfaces 的调色板?
我有一个BaseSurf
带有索引调色板的 Surface,我想给blit
它另一个索引颜色的 Surface(我们称之为它NewSurf
)。但是,BaseSurf 的调色板与 NewSurf 的不同,pygame 不会自动将缺少的颜色添加到 BaseSurf 的调色板中。因此,我需要一些方法将 NewSurf 的颜色附加到 BaseSurf 的调色板,而不会破坏任何一个(覆盖 Surface 像素实际使用的调色板索引)。
当我运行此代码时:
……这就是我看到的……
--编辑:请注意,组合图形将 NewSurf 中的颜色近似为 BaseSurf 使用的任何颜色,即使序列已关闭。右下角的 blob 实际上采用一个空值 (0,0,0,255) 作为最接近的匹配颜色!
显然,NewSurf(右侧)已将其索引转移到 BaseSurf,这并不完全不正确,但也不是我想要的。如何将 NewSurf 传送到 BaseSurf,在修改后的图像中保留其准确的颜色数据(但保留索引的彩色图像)?
python - 索引表面是否支持具有 alpha 值(255 除外)的调色板?
当我调用时myIndexedSurface.get_palette()
,它会返回一个 32 位 RGBA 值的列表。我想因为其中包含一个 alpha 值,所以我也可以设置和使用具有透明效果的调色板索引。然后,这些表面可以比具有全深度(32 位)每像素数据的表面更有效地作为覆盖或掩码进行 blitted。
不过,到目前为止,调色板元素的 alpha 值似乎已锁定,255
并且不会因我尝试过的任何方法而改变:
.set_palette_at(idx, (r,g,b,A))
正确设置r
、g
和b
,但将 alpha 值保留为 255,而不管A
' 值如何。.set_palette(somePalette)
ValueError: takes an alpha value of 255
如果任何somePalette
RGBA 元组元素的 alpha 值不是 255,则引发。
我正在尝试做的事情可能吗?每个调色板列表元素中的 alpha 值是否纯粹是装饰性的,它可能更容易被其他需要 32 位 (RGBA) 像素数据而不是 24 (RGB) 像素数据的进程使用?
我觉得 Pygame 中的索引表面可能一开始就无法处理这种程度的复杂性,但我也想不出或找到不应该这样做的原因。special_flags
也许 Pygame为此目的有其神秘之处?
我尝试通过初始化 Surface 本身myIndexedSurface = pygame.Surface(surfSize).convert(8)
,myIndexedSurface = pygame.Surface(surfSize, flags=pygame.SRCALPHA).convert(8)
但没有任何效果。
我还没有查看PIL或Pygame 的PixelArray
解决方案。
image - 在 MATLAB 中保存索引图像
我有这张图片,它带有点诅咒
X ,Y 索引 RGB
索引值对我很重要,我想保存此图像并稍后使用。但是当我使用
创建的图像没有索引值。这是生成的保存图像(png格式);
我生产 im ,如下所示
使用循环向其中添加数据。
matlab - Convert and indexed image to RGB and back without losing data
I am having trouble converting an indexed image to RGB and then back from RGB to an indexed image. For some reason, the result is different from the original. I am doing steganography so it can't work if the data is changed.
This is my code and this is the sample image:
Variables J
and Jind
are supposed to be equal. Why are they being detected as being different?
imagemagick - Resize indexed PNG image with ImageMagick while preserving color map
I am using custom batch script to make resized copies (33% and 66%) of all PNG images in folder. Here is my code:
It works fine, except when the original image is indexed. In this case the smaller version of the image is RGB (so even larger file size then original image).
I have try several versions but not worked. One that I guess supposed to sort this out was fallowing:
But it doesn't work.
EDIT:
This is updated co, but it still doesn't work as it supposed to (see the attached image-left is original, right is resized):
image - 将 rgb 图像转换为索引图像而不减少 Matlab 中的颜色
我正在索引图像中进行隐写术。我的问题之一是将 rgb 图像转换为索引图像而不减少颜色。我发现 matlab 中的 rgb2ind 函数使用最小方差量化和抖动将 rgb 转换为索引。我想要的是使这个索引图像颜色与 rgb 颜色完全一样。我怎样才能做到这一点?
例如,在这段代码中,我有这个矩阵 M 并使用 rgb2ind 函数对其进行转换。我期待结果变量 Mrgb 与矩阵 M 相等。
更新
我在 4-D 中更新矩阵 M。我尝试了 Dan 的回答中的代码并用 显示图像imshow
,但是当图像应该是黄色时,图像变成紫色。我该如何解决?
opencv - 当我们已经有了调色板时,使用 OpenCV 减少图像中的颜色
拥有一张图片,我想将其简化为x
颜色并将其保存在 png 文件中。
我选择使用 k-means(OpenCV 中已经提供)来执行此操作。在全分辨率图像上,它需要超过一分钟,所以我将图像调整为更小的东西,然后我得到了调色板。
用调色板中的颜色替换原始图像中的颜色的最佳方法是什么?
我所做的一个简单实现是获取图像中的每个像素并计算该像素与调色板中的像素之间的欧几里德距离,然后在调色板中选择最接近的颜色。这在视觉方面是可以的,但是调色板大小超过 30 需要 30 多秒。
我知道要走的路是使用八叉树或某种形式的k-最近邻算法,但老实说,我不知道我是否应该花时间来实现我认为已经实现的东西。
我可以使用 OpenCV 中适合我的场景的东西吗?我可以期望它比使用欧几里得距离至少快 2 倍吗?
C++ 示例将不胜感激。
matlab - 将索引图像颜色图转换为 uint8
我正在尝试使用以下代码读取图像的颜色图:
但map
被重新调整为[0,1]
type double
。如何获得uint8
范围内的颜色图[0,255]
?
matlab - 调整索引图像的亮度和对比度
我正在更改 MATLAB 中索引图像的图像亮度。为此,我创建m
了一个 3x256 个矩阵,然后将其乘以一个数字,然后添加m
到x
(我的图像的地图)。我现在的问题是如果结果大于一,如何返回一个。