如何删除每一秒像素的每一行从照片?

37次浏览(最近30天)
Ferdows Dolon
Ferdows Dolon 2014年9月13日
评论道: 图像分析 2014年9月13日
大家好!
我需要写一个程序,它将一张照片作为输入,然后我想删除照片中每一行的每秒钟像素。
我该怎么做呢?非常感谢。
问候
ferdows

接受的答案

图像分析
图像分析 2014年9月13日
尝试这个为灰度图像:
grayImage = grayImage(1:2,::结束);
或者,如果是RGB图像:
rgbImage = rgbImage(:, 1:2:end,:);
你可以把它赋值给a 不同的图像 如果你不想改变你的输入图像。
grayImage2 = grayImage(:, 1:2:end);
rgbImage2 = rgbImage(:, 1:2:end,:);
如果愿意,也可以从第2列开始,但使用2:2:end而不是1:2:end。
1评论
图像分析
图像分析 2014年9月13日
就像我上面建议的那样,用一行来做真的很容易,但如果你真的 需要 它是一个函数....
函数outputImage = SubSampleImage (inputImage)
[rows, columns, numberOfColorChannels] = size(inputImage);
如果numberOfColorChannels = = 1
outputImage = inputImage(:, 1:2:end);
其他的
outputImage = inputImage(:, 1:2:end,:);
结束
尽管当你调用这个函数时,你仍然会有一行代码,就像你使用我的第一个建议而不使用函数一样,因为你需要调用函数。我的功能足够强大,可以处理灰度和多光谱/RGB图像。

登录评论。

更多的答案(2)

Rushikesh四氨基二苯醚
Rushikesh四氨基二苯醚 2014年9月13日
编辑:Rushikesh四氨基二苯醚 2014年9月13日
尝试以下代码:
函数output_image = alternate_rows (input_image)
output_image = [];
i = 1:尺寸(input_image, 1)
1:2 output_image = [output_image input_image(我:大小(input_image, 2)))
结束

亚当
亚当 2014年9月13日
nCols = size(photo, 2); / /照片
photo = photo(:, 1:2:nCols);

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!