解像度を落とさずに、​画像にテキストを挿入​することは可能ですか​?

11 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2014 年 1 月 9 日
回答済み: MathWorks Support Team 2014 年 1 月 9 日
解像度を落とさずに画像にテキストを挿入する方法を教えてください。テキストオブジェクトとして上書きするのではなく、画像データそのものを編集して挿入する方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2014 年 1 月 9 日
下記手順に関するプログラミングを行うことで、実現可能です。
1. オリジナル画像の読み込み
2. テキスト作成とキャプチャ
3. 画像のピクセルをテキストのピクセルと入れ替え/表示
以下は、画像に「テキスト」という文字列を挿入するコマンド例です。
(なお、R13,R13SP1,R13SP2 をご利用の方は、ページ下部より 'street1.jpg' をダウンロードすることが可能です。)
%1.オリジナル画像の読み込み
I = imread('street1.jpg'); % データタイプ:uint8、サイズ:480×640×3
image(I),axis off
%2.テキスト作成とキャプチャ
hf = figure('color','white','units','normalized','position',[.1 .1 .8 .8]);
image(ones(size(I)));
set(gca,'units','pixels','position',[5 5 size(I,2)-1 size(I,1)-1],'visible','off')
text('units','pixels','position',[300 50],'fontsize',48,'string','テキスト挿入')
tim = getframe(gca);
close(hf)
%3.画像のピクセルをテキストのピクセルと入れ替え/表示
tim2 = tim.cdata; % キャプチャした画像データを抽出
tmask = tim2==0; % テキストのピクセル位置を取得
I(tmask) = uint8(255); % ピクセルの置き換え(白色)
figure,image(I),axis off % 表示
【処理前】
【処理後】

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeイメージ についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2012b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!