【发布时间】:2012-02-07 04:34:58
【问题描述】:
我们有一个文本文档图像,我们想将一个单词移动一定数量的像素。我们编写了一个代码,一次只移动一个字母。但不清楚。有没有什么函数或代码可以在MATLAB中移动像素?
【问题讨论】:
-
提供一些代码或基本示例怎么样? :)
标签: image matlab image-processing text pixels
我们有一个文本文档图像,我们想将一个单词移动一定数量的像素。我们编写了一个代码,一次只移动一个字母。但不清楚。有没有什么函数或代码可以在MATLAB中移动像素?
【问题讨论】:
标签: image matlab image-processing text pixels
如果要移动整行,可以使用circshift() 函数。我不认为有代码可以只移动图像的一部分,但如果你有单词的坐标,它可以很容易地完成。
如果我们有图片 b
b =
0 0 0 0 0
1 1 0 0 0
1 1 0 0 0
0 0 0 0 0
0 0 0 0 0
想把那三个向右移动,我们可以做
shift = 3;
b(2:3,1+shift:2+shift) = b(2:3,1:2) //copy part of image
b(2:3,1:2) = 0 //Remove orignal part of image
b =
0 0 0 0 0
0 0 0 1 1
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
您也可以使用 oneliner 来移动单词,但它会覆盖单词和移动位置之间的任何内容
b(2:3,1:2+shift) = [zeros(2,shift) b(2:3,1:2)]
【讨论】: