- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
<分区>
我正在将 python 脚本传输到 MATLAB 脚本中。 python 脚本中的一个步骤是使用 cv2.resize
函数将 256*256 RGB 图像调整为 40*40 RGB 图像,即
import cv2
img = cv2.imread('0.png')
img_40 = cv2.resize(img, (40, 40)) # img rescaled to 40*40
然后,我在 40*40 图像中打印 B channel 的一些像素值。
print img_40[0:10, 0:10, 0]
ans =
[[ 0 0 1 2 1 3 0 21 96 128]
[ 2 0 17 13 5 20 15 48 112 126]
[ 0 0 6 0 2 3 80 107 122 129]
[ 0 5 1 7 0 14 98 132 129 127]
[ 1 2 0 0 0 16 100 151 138 134]
[ 0 2 0 2 0 34 105 138 143 139]
[ 0 3 0 0 0 54 96 29 51 79]
[ 5 0 0 0 0 56 118 103 97 38]
[ 3 0 0 0 2 44 132 95 93 89]
[ 1 0 1 3 0 38 141 128 104 26]]
但是,当我使用 MATLAB imresize
函数时,我得到的结果略有不同。 PS:我已将 AntiAliasing
设置为 false
,如前所述 here .
img = imread('0.png');
img_40 = imresize(img,[40,40],'bilinear','AntiAliasing',false);
img_40(1:10,1:10,3)
ans =
0 0 2 1 2 4 0 21 96 128
2 0 18 13 5 20 15 48 112 127
0 0 6 0 3 3 81 107 123 129
0 5 1 7 0 14 99 133 129 127
1 2 0 0 0 16 100 151 139 134
0 2 0 2 0 34 105 139 144 140
0 3 0 0 0 54 96 29 51 79
6 0 0 0 0 57 119 104 97 39
3 0 0 0 2 44 132 96 93 89
1 0 1 3 1 38 141 129 104 26
并提供测试图片0.png
期待任何对我有帮助的解释。
更新 - 2017 年 10 月 12 日
正如 Ander Biguri 在下面的评论中指出的那样,问题的原因可能是:插值给出了浮点值,但我正在使用 uint8
值,这可能会导致舍入错误。
并将图像矩阵转换为double
类型,似乎是正确的。
使用 python cv2:
img = cv2.imread('0.png')
d_img = img.astype('float')
img_40 = cv2.resize(d_img, (40, 40)) # img rescaled to 40*40
print img_40[0:10, 0:10, 0]
ans =
[[ 3.00000000e-01 0.00000000e+00 1.40000000e+00 1.81000000e+00
1.61000000e+00 3.49000000e+00 0.00000000e+00 2.13500000e+01
9.62500000e+01 1.28080000e+02]
[ 2.00000000e+00 0.00000000e+00 1.75000000e+01 1.31900000e+01
4.87000000e+00 1.98900000e+01 1.52300000e+01 4.81500000e+01
1.12420000e+02 1.26630000e+02]
[ 0.00000000e+00 0.00000000e+00 5.75000000e+00 0.00000000e+00
2.35000000e+00 2.80000000e+00 8.04000000e+01 1.06500000e+02
1.22300000e+02 1.28800000e+02]
[ 0.00000000e+00 5.28000000e+00 9.50000000e-01 7.19000000e+00
0.00000000e+00 1.40300000e+01 9.85100000e+01 1.32200000e+02
1.28990000e+02 1.27270000e+02]
[ 7.90000000e-01 2.40000000e+00 1.50000000e-01 7.00000000e-02
0.00000000e+00 1.65100000e+01 9.96300000e+01 1.50750000e+02
1.38440000e+02 1.34300000e+02]
[ 0.00000000e+00 2.13000000e+00 1.50000000e-01 1.90000000e+00
0.00000000e+00 3.42900000e+01 1.04730000e+02 1.38400000e+02
1.43560000e+02 1.39400000e+02]
[ 0.00000000e+00 2.70000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 5.43700000e+01 9.57400000e+01 2.88500000e+01
5.05500000e+01 7.88600000e+01]
[ 5.55000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
1.50000000e-01 5.65500000e+01 1.18500000e+02 1.03000000e+02
9.73000000e+01 3.81000000e+01]
[ 3.30000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
1.84000000e+00 4.40700000e+01 1.32280000e+02 9.53000000e+01
9.27000000e+01 8.92400000e+01]
[ 1.40000000e+00 0.00000000e+00 1.00000000e+00 3.03000000e+00
7.00000000e-01 3.79900000e+01 1.40600000e+02 1.28600000e+02
1.04270000e+02 2.61200000e+01]]
使用 MATLAB:
img = imread('0.png');
d_img = single(img);
img_40 = imresize(d_img,[40,40],'bilinear','AntiAliasing',false);
img_40(1:10,1:10,3)
0.3000 0 1.4000 1.8100 1.6100 3.4900 0 21.3500 96.2500 128.0800
2.0000 0 17.5000 13.1900 4.8700 19.8900 15.2300 48.1500 112.4200 126.6300
0 0 5.7500 0 2.3500 2.8000 80.4000 106.5000 122.3000 128.8000
0 5.2800 0.9500 7.1900 0 14.0300 98.5100 132.2000 128.9900 127.2700
0.7900 2.4000 0.1500 0.0700 0 16.5100 99.6300 150.7500 138.4400 134.3000
0 2.1300 0.1500 1.9000 0 34.2900 104.7300 138.4000 143.5600 139.4000
0 2.7000 0 0 0 54.3700 95.7400 28.8500 50.5500 78.8600
5.5500 0 0 0 0.1500 56.5500 118.5000 103.0000 97.3000 38.1000
3.3000 0 0 0 1.8400 44.0700 132.2800 95.3000 92.7000 89.2400
1.4000 0 1.0000 3.0300 0.7000 37.9900 140.6000 128.6000 104.2700 26.1200
PS:问题的答案How to use Matlab's imresize in python使用 uint8
值时,不要提及由插值引起的舍入误差。
我拦截了一个数据包并提取了有效载荷。此有效负载是压缩的 jpeg 字节流数据(例如,将此数据分配给 unsigned char *payload )。我知道如果我有一个 FILE 指针,那么我可以使用
假设我们有一个单 channel 图像 (5x5) A = [ 1 2 3 4 5 6 7 8 9 2 1 4 5 6 3 4 5 6 7 4 3 4
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 2 年前。 Improve th
我有一个 RGB LED 并且有 9、10、11 的引脚和接地的引脚。已为 R、G 和 B 提供电阻器。 当我这样做时: analogWrite(r, 255); // I see a red c
我想知道如何从像素中获取颜色作为 RGB 整数,并在需要时进行转换。另外,如何利用差异来确定一个像素是否比另一个像素更亮或更暗。 最佳答案 简单: rgb_int = rgb_tuple[0] <<
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 3 年前。 Improve
我的目标是找到与数组中的 RGB 相比最接近的 RGB 匹配项。我已经创建了一个循环遍历图片中每个像素的函数。我现在唯一需要做的就是找到图片中每个像素最接近数组颜色的颜色。 $colors = arr
将 YUV 文件转换为 RGB 文件时出现问题。完成后,我无法使用 GIMP 或其他查看器打开 .rgb 文件,但我成功打开下载的 .rgb 文件。请告诉我RGB文件的结构是什么? (它是否包含标题?
我正在开发一个程序,在该程序中我获取图像的一部分并计算该图像的平均 RGB。当我计算它时,我得到完全不同的值,就好像我要使用内置函数一样。当我测试我的数字并将它们放入 RGB 颜色图表时,它们会关闭,
我正在尝试无损压缩图像,为了利用规律性,我想将图像从 RGB 转换为 Y'CbCr。 (我所说的 RGB 和 Y'CbCr 的具体细节在这里并不重要;RGB 数据由三个字节组成,我有三个字节来存储结果
我有一个应用程序可以生成一堆 jpg,我需要将这些 jpg 转换为 webm 视频。我正在尝试将 jpeg 中的 rgb 数据放入 vpxenc 示例中。我可以在输出视频中看到原始 jpg 的基本形状
我不太熟悉位移位,所以我有以下问题。我使用下面的函数(在别处找到)从 YUV 解码为 RGB int 数组。 现在我想调整红色或绿色或蓝色值来创建一些自定义滤镜效果。我需要检索 R 值、G 值和 B
在下面的代码片段中,我试图在 Visual C++ 中检索像素的 RGB 值,然后将相同的 RGB 值设置回相同的像素。也就是说,这只是一个测试。但是,当我这样做时,生成的图像相似但颜色错误/关闭。生
我试图在 上将 RGB 颜色从蓝色 (rgba(0,0,255)) 转换为红色 (rgba(255,0,0)) >JS mouseenter,渐进式。 因此,每次鼠标进入一个元素时,它都会“增加”其背
我需要根据像素的 RGB 颜色创建一个 Color 对象(读取 PNG 文件的 BufferedImage 对象,BufferedImage 颜色空间为 BufferedImage.TYPE_4BYT
我正在编写一段代码,它必须从 RGB 图像转换为 rgb 标准化空间。我已经使用 for 格式使用它,但它运行速度太慢,我需要评估大量图像。我正在尝试矢量化完整功能以加快它的速度。我现在有以下内容:
我想在多种光照条件下获取图像的 RGB 值。为了获得某种中性场景,我想使用一些预定义图像的 RGB 值对 RGB 值进行归一化。 让我解释一下。我有 6 张预定义图像,我知道它们的确切平均 RGB 值
将平行四边形((RGB)点的二维数组)投影到三角形((RGB)点的二维数组)(在我的特定情况下,将矩形投影到具有相同边长的直角三角形)的伪代码算法是什么(等腰),在我的例子中,斜边的大小与矩形的最大边
假设我有一张摄影底片扫描为 RGB 图像,我正试图找到一种算法将颜色值转换为 RGB 正片。 由于橙色偏差 (http://photo.net/learn/orange-negative-mask),
我已成功将图像转换为灰度图像,我想将灰度图像恢复为 RGB 图像。请帮忙。提前致谢。 -(UIImage *) toGrayscale { const int RED = 1;
我是一名优秀的程序员,十分优秀!