标签: grayscale

在HTML/CSS中将图像转换为灰度

是否有一种简单的方法来显示灰度的彩色位图HTML/CSS

它不需要与IE兼容(我想它不会) - 如果它在FF3和/或Sf3中工作,这对我来说已经足够了.

我知道我可以用SVGCanvas和Canvas 来做这件事,但现在看起来好像很多工作.

有一个真正懒惰的人这样做的方法吗?

css image css3 grayscale

605
推荐指数
13
解决办法
40万
查看次数

使用matplotlib将图像显示为灰度

我正在尝试使用matplotlib.pyplot.imshow()显示灰度图像.我的问题是灰度图像显示为色彩图.我需要灰度,因为我想用颜色在图像上绘制.

我在图像中读取并使用PIL的Image.open()转换为灰度.转换("L")

image = Image.open(file).convert("L")
Run Code Online (Sandbox Code Playgroud)

然后我将图像转换为矩阵,以便我可以轻松地使用

matrix = scipy.misc.fromimage(image, 0)
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做的时候

figure()  
matplotlib.pyplot.imshow(matrix)  
show()
Run Code Online (Sandbox Code Playgroud)

它使用色彩图显示图像(即它不是灰度).

我在这做错了什么?

python matplotlib grayscale

211
推荐指数
7
解决办法
31万
查看次数

带有CSS的图像灰度和鼠标悬停时重新着色?

我想要一个彩色的图标(并将是一个链接)并将其转换为灰度,直到用户将鼠标放在图标上(然后它将为图像着色).

这可能吗,并且以IE和Firefox支持的方式?

css mouseover grayscale

84
推荐指数
3
解决办法
26万
查看次数

灰度背景Css图像

我在网上搜索了很多,但我找不到一个跨浏览器解决方案来淡化css背景图像到灰度和背面.

唯一可行的解​​决方案是应用CSS3过滤器灰度:

-webkit-filter: grayscale(100%);
Run Code Online (Sandbox Code Playgroud)

但这适用于Chrome v.15 +和Safari v.6 +(你可以在这里看到:http://css3.bradshawenterprises.com/filters/ )

在线的许多页面都谈到了灰色元素的解决方案:

filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 10+, Firefox on Android */
filter: gray; /* IE6-9 */
Run Code Online (Sandbox Code Playgroud)

(你可以在这里看到:http://www.karlhorky.com/2012/06/cross-browser-image-grayscale-with-css.html)

但实际上它似乎不适用于CSS背景图像,就像webkit过滤器那样.

是否有任何解决方案(可能使用jquery?)来破解在不太先进的浏览器上缺少对过滤器的支持?

css background image cross-browser grayscale

58
推荐指数
3
解决办法
15万
查看次数

将图像转换为灰度

有没有办法将图像转换为每像素格式16位灰度,而不是将每个r,g和b分量设置为亮度.我目前有一个文件bmp.

Bitmap c = new Bitmap("filename");
Run Code Online (Sandbox Code Playgroud)

我想要一个Bitmap d,即c的灰度版本.我确实看到一个包含System.Drawing.Imaging.PixelFormat的构造函数,但我不明白如何使用它.我是Image Processing和相关C#库的新手,但对C#本身有一定的经验.

任何帮助,参考在线来源,提示或建议将不胜感激.

编辑:d是c的灰度版本.

c# bitmap image-processing grayscale

55
推荐指数
6
解决办法
13万
查看次数

在Android中将位图转换为GrayScale

我是这个网站的新手,我提出了一个关于Android的问题.

有没有办法将位图转换为灰度?我知道如何绘制灰度位图(使用画布操作:http://www.mail-archive.com/android-developers@googlegroups.com/msg38890.html)但我真的需要灰色的实际位图(或者至少可以在以后转换为位图的东西).我是否必须手动实现(逐像素操作)?

我搜索了很多,但仍然找不到.谁知道一个简单/有效的方法呢?

非常感谢!

android bitmap image-processing grayscale

55
推荐指数
4
解决办法
7万
查看次数

在ImageMagick命令行中将RGB转换为灰度

如何使用(r + g + b)/ 3方法将RGB图像(3个通道)转换为灰度图像?我查看了一个示例页面:http://www.imagemagick.org/Usage/color_mods/#grayscale 但是所需的方法:

convert test.png -fx '(r+g+b)/3' gray_fx_average.png
Run Code Online (Sandbox Code Playgroud)

给了我一个错误的结果 - 结果图像仍有3个频道.

您可以通过运行命令来检查:identify -format "%[colorspace] <== %f\n" *.png.

imagemagick grayscale

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

如何在OpenCv中将cv :: Mat转换为灰度?

如何将cv :: Mat转换为灰度?

我试图从opencv运行drawKeyPoints func,但是我收到了Assertion Filed错误.我的猜测是它需要在参数中接收灰度图像而不是彩色图像.

void SurfDetector(cv::Mat img){
vector<cv::KeyPoint> keypoints;
cv::Mat featureImage;

cv::drawKeypoints(img, keypoints, featureImage, cv::Scalar(255,255,255) ,cv::DrawMatchesFlags::DRAW_RICH_KEYPOINTS);

cv::namedWindow("Picture");
cv::imshow("Picture", featureImage);
Run Code Online (Sandbox Code Playgroud)

}

c++ variables opencv grayscale

39
推荐指数
1
解决办法
10万
查看次数

如何将RGB图像转换为灰度但保留一种颜色?

我正在尝试创建一个类似于罪恶之城或其他电影的效果,除了图像中的所有颜色之外,它们都会删除所有颜色.

我有一个RGB图像,我想转换为灰度,但我想保持一种颜色.

这是我的照片:

替代文字

我想保持红色.其余的应该是灰度的.

这是我的代码输出到目前为止(你可以看到区域是正确的,我不知道为什么它们是白色而不是红色):

替代文字

到目前为止,这是我的代码:

filename = 'roses.jpg';

[cdata,map] = imread( filename );
% convert to RGB if it is indexed image
if ~isempty( map ) 
   cdata = idx2rgb( cdata, map ); 
end

%imtool('roses.jpg');

imWidth = 685;
imHeight = 428;

% RGB ranges of a color we want to keep
redRange = [140 255];
greenRange = [0 40];
blueRange = [0 40];

% RGB values we don't want to convert to grayscale
redToKeep = zeros(imHeight, imWidth);
greenToKeep …
Run Code Online (Sandbox Code Playgroud)

rgb matlab colors image-processing grayscale

36
推荐指数
2
解决办法
3万
查看次数

在OpenCV(Python)中,为什么我从灰度图像中获取3个通道图像?

我在Ubuntu 12.04上使用Python(2.7)和OpenCV 2.4.6的绑定

我加载图像

    image = cv2.imread('image.jpg')
Run Code Online (Sandbox Code Playgroud)

然后我检查图像阵列的形状

    print image.shape
Run Code Online (Sandbox Code Playgroud)

我得到(480,640,3),我期望640x480彩色图像.然后我将图像转换为灰度并再次检查形状.

    gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    print gray_image.shape
Run Code Online (Sandbox Code Playgroud)

我得到(480,640,1),我期望640x480 灰度图像.然后我保存图像:

    cv2.imwrite('gray.jpg', gray_image)
Run Code Online (Sandbox Code Playgroud)

我在linux上,所以我试着用gThumb查看图像,它显示了所有的颜色通道.当我将灰色图像带回OpenCV时,图像再次有三个通道.我知道这个标志用于阅读图像:

    CV_LOAD_IMAGE_GRAYSCALE - If set, always convert image to the grayscale one
Run Code Online (Sandbox Code Playgroud)

但这听起来像是将图像作为彩色图像引入然后转换它.我正在将这个项目移植到RaspberryPi,所以我不希望发生不必要的操作.

编辑:我做了一些计时检查,我发现使用CV_LOAD_IMAGE_GRAYSCALE标志设置加载图像会导致图像加载速度提高两倍,而不管图像输入如何.

     Using a 3072 x 4608 x 3 image
     0.196774959564 seconds with default loading
     0.0931899547577 seconds with CV_LOAD_IMAGE_GRAYSCALE
Run Code Online (Sandbox Code Playgroud)

问题似乎是OpenCV正在创建3通道JPG输出,无论我是否有灰度图像矩阵!

我可以用什么其他应用程序来确保我得到一个8位通道JPG图像?(也许gThumb错误地报告了频道).

如果图像不是单通道,为什么OpenCV会在磁盘写入时将我的灰度图像保存为3通道图像?

提前致谢.

python jpeg opencv image-processing grayscale

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