Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wolfram mathematica Mathematica图片导入灰度错误_Wolfram Mathematica_Grayscale_Data Conversion - Fatal编程技术网

Wolfram mathematica Mathematica图片导入灰度错误

Wolfram mathematica Mathematica图片导入灰度错误,wolfram-mathematica,grayscale,data-conversion,Wolfram Mathematica,Grayscale,Data Conversion,我正在尝试将导入的彩色图片转换为灰度 这是我到目前为止尝试过的,但mathematica simple在执行此代码后崩溃,也许您可以找到错误,无法识别我做错了什么: SetDirectory[NotebookDirectory[]] testimage = Import["test.jpg"] matrixpic = getMatrix[testimage] matrixpic = getMatrix[testimage] greypic = Graphics[ Raster[

我正在尝试将导入的彩色图片转换为灰度

这是我到目前为止尝试过的,但mathematica simple在执行此代码后崩溃,也许您可以找到错误,无法识别我做错了什么:

SetDirectory[NotebookDirectory[]]
testimage = Import["test.jpg"]
matrixpic = getMatrix[testimage]

matrixpic = getMatrix[testimage]
greypic = 
  Graphics[
    Raster[
        matrixpic, {{0, 0}, {sizeX[matrixpic], sizeY[matrixpic]}}, {0, 
        255}, ColorFunction -> (GrayLevel[#[[1]]*0.3 + #[[2]]*0.5 + #[[
        3]]*0.2] &)
    ], 
    ImageSize -> {sizeX[matrixpic], sizeY[matrixpic]}, 
    AspectRation -> Automatic
 ]

 Show[greypic]

这是可行的,而且更像是一个风格代码

SetDirectory[NotebookDirectory[]];
img = Import["55th-All-Japan-Kendo-Champ2007-4.jpg"];
colorXform[p_] := p[[1]]*0.3 + p[[2]]*0.5 + p[[3]]*0.2;
newImg = Image[Map[colorXform, ImageData[img], {2}]];
Show[newImg]

这是可行的,而且更像是一个风格代码

SetDirectory[NotebookDirectory[]];
img = Import["55th-All-Japan-Kendo-Champ2007-4.jpg"];
colorXform[p_] := p[[1]]*0.3 + p[[2]]*0.5 + p[[3]]*0.2;
newImg = Image[Map[colorXform, ImageData[img], {2}]];
Show[newImg]

我认为进行这种转换的最佳方法是使用和:


请在Mathematica StackExchange专用网站上询问您未来的问题:


我认为进行此转换的最佳方法是使用和:


请在Mathematica StackExchange专用网站上询问您未来的问题:


您的代码可以简化为

img = Import["ExampleData/lena.tif"];
matrixpic = ImageData[img, DataReversed -> True];
Graphics[Raster[matrixpic, 
  ColorFunction -> (GrayLevel[{.3, .5, .2}.#] &)]]

这在Mathematica 8.0.4中没有错误。

您的代码可以简化为

img = Import["ExampleData/lena.tif"];
matrixpic = ImageData[img, DataReversed -> True];
Graphics[Raster[matrixpic, 
  ColorFunction -> (GrayLevel[{.3, .5, .2}.#] &)]]

这在Mathematica 8.0.4中可以正常工作。

ColorConvert[testimage,“Grayscale”]有什么问题?是否指定可以看到的值?是否指定可以看到的值?