【问题标题】:shifting a character in a text image by certain amount of pixels using matlab使用matlab将文本图像中的字符移动一定数量的像素
【发布时间】:2012-02-07 04:34:58
【问题描述】:

我们有一个文本文档图像,我们想将一个单词移动一定数量的像素。我们编写了一个代码,一次只移动一个字母。但不清楚。有没有什么函数或代码可以在MATLAB中移动像素?

【问题讨论】:

  • 提供一些代码或基本示例怎么样? :)

标签: image matlab image-processing text pixels


【解决方案1】:

如果要移动整行,可以使用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)]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2014-11-07
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多