2025.05.21

ImageMagickによる画像の拡大縮小・・・(ubuntu)

旅をした後に写真撮影した画像の多くを掲載するブログを作成するため、ImageMagickに内包するperlmagickを使って画面表示のhtml文を半自動化するプログラムをperlで作成して用いていた。最初に動かしたのはFreeBSD下であったが、その後はWindows下で動かしていたが、Windowsのアップデート等で損なわれた。
そこで、今回、外付けのUSB接続のSSDにUbuntuを入れて、ImageMagick/PerlMagickを入れてブログ作成ツールを動かそうとしたが、gifファイルは画像の拡大縮小ができるが、jpgファイルは機能せず、散々苦労してようやく動かせたので、その作業の概要を記すこととした。Ubuntu22.04をインストールしたが、これは何ら問題は生じなかった。
 
(1) 前処理
  ubuntuはインストールしただけでは、gccもmakeも入っていないので、
  まず入れておく。
  また、ubuntuはshellとして、bashが使われているが、途中cshも使うので
  これも入れておく。(bashでもsetenvの設定はできるが、筆者は知らないので)

nakxx> sudo -i                <ーーーー rootになる
[sudo] nakxx のパスワード: xxxxxx
# apt install build-essential          <ーーーー make、gccを入れる
# apt install csh                <ーーーー csh shellを入れる

 
(2) libjpegをあらかじめインストールしておく

# cd /usr/local/src
# wget http://www.ijg.org/files/jpegsrc.v8c.tar.gz
# tar xvzf jpegsrc.v8c.tar.gz
# cd jpeg-8c
# ./configure --enable-shared    <ーー -enable-sharedを指定しないとPerlで使うLibjpegが作られない
# make
# make install

 
(3) ImageMagickのインストール
  ImageMagickのページからsourceファイルをダウンロードし
  て/usr/local/srcに置く。最新版はImageMagick-7.1.1-47であった。

# cd /usr/local/src
# tar xvzf ImageMagick.tar.gz
# cd ImageMagick-7.1.1-47
# csh                            <ーーー shellをcshに切り替え
# setenv CPPFLAGS -I/usr/local/include
# setenv LDFLAGS -L/usr/local/lib
# exit                             <ーーー shellをbashに戻す
# ./configure --enable-lzw=yes |& tee configure.log
# make
# make install
configureの最後でJPEG v1 --with-jpeg=yes yes なら成功。
config.logでac_cv_lib_jpeg_jpeg_read_header='yes' なら成功。

 
(4) PerlMagickのインストール
  最初の位置はImageMagickをtar xvzfで展開した位置から始める。
  いきなりPerMagickのディレクトリーに行くとエラーとなるので要注意。
  このことを行っていないインストール説明ページが多いので注意を要する。

# ./configure --with-quantum-depth=16 --with-perl=/usr/bin/perl
# make perl-sources 
# cd PerlMagick/
# /usr/bin/perl Makefile.PL
# make
# make install

 
(5) 関連ライブラリーのインストール
  test用の画像処理プログラムでテストして分かったことだが、CGI.pm、
  Image/Size.pm、Jcode.pmも必要である。
  以下にインストール方法を書いておく。

# apt install libcgi-session-perl      <ーーーーーーー CGI.pmのインストール
# apt install libimage-size-perl       <ーーーーーーー Image/Sizeのインストール
# apt-get install libcode-pm-perl      <ーーーーーーー Jcode.pmのインストール
                         (コマンドがapy-get install)となる事に注意。

 
(6) サンプル

#!/usr/bin/perl

use CGI;
use Image::Magick;
use Image::Size;
use Jcode;

$imagesize=1024;                          <------------- 目的の画像サイズの横幅を指定(縦幅は自動計算)                    

$srcimage=(path to Image holder)/abcd.jpg;        <-----------パスを含めた画像のファイル名

           ($imgx, $imgy) = imgsize($srcimage);

            $iwidth = $imagesize;  
            $iheight = ($imgy / $imgx) * $iwidth;

            $iwidth = int($iwidth); $iheight = int($iheight);

                 $img =  Image::Magick->new;
                 $img->Read("$srcimage");
                       $img->Set(quality=>90);
                       $img -> Resize(width => $iwidth,height => $iheight);
                 $img->Write("$srcimage");
            undef $img; 
  exit();

 
ImageMagickを入れると、ubuntu22.04のGUIでの「設定」が表示されなくなる、その他の項目は全部調べていないが、問題なさそうだ。
何とかならないかと、googleで検索すると、ImageMagickをアンインストーしろとのこと。何をか言わんやである。


2022.08.23

Ubuntu 22.04でWI-U2-433DHP・・・(ubuntu)

Ubuntuを20.04から22.04にupdateして、20.04と同じくWI-U2=433DHPを認識されるように同様の処置を行ったが、認識させることはできなかった。
色々調べて下記の方法で使用可能となったので記載しておくこととした。

$ sudo -i      <===      root になります。
# apt update
# apt install dkms
# git clone https://github.com/aircrack-ng/rtl8812au.git
# cd rtl8812au
# sudo make dkms_install

これで、再起動すればWI-U2-433DHPが認識され、接続キーをセットすれば使用可能となる。


2022.03.03

ubuntu 20.04.4 LTSについて・・・(ubuntu)

USB接続の2.5インチの外付けHDDにubuntuにインストールして遊んでいたが、起動が遅いため外付けであるがSSDに変えて新規にインストールすることにした。
ubuntu Japanese teamが作成したubuntu 20.04.4 LTSのRemix版のISOイメージファイルをダウンロードして、USBメモリーにインストールメディアを作成して、外付けSSDドライブにインストールした。

問題なくubuntuを起動することができたが、起動画面の背景と文字色を変えようとして/etc/default/grubを修正した。しかし、背景は表示されたが文字色は反映されなかった。 下記に修正したgrubの内容を示す。 (赤字の行が修正か追加した行)
 

# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="0"
#GRUB_TIMEOUT_STYLE="hidden" ・・・文字表示させるためコメンントアウト
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
    ・
    ・
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

export GRUB_COLOR_NORMAL="black/black" ・・・・・文字色指定(反映されず)
export GRUB_COLOR_HIGHLIGHT="magenta/white" ・・文字色指定(反映されず)

GRUB_BACKGROUND="/home/nakamura/ピクチャ/gyofu.jpg" ・・背景指定(反映された)


なぜ文字色が反映されないか分からない。Remix版で起動スクリプトが変更されているのかもしれない。
手っ取り早く、/etc/grub.d/40_customに次の2行を追加して目的を果たした。

set menu_color_normal=black/black
set menu_color_highlight=cyan/white


2020.07.09

Grub Customizer・・・(linuxbean)

linuxbeanで遊んでいたが、用いている2.5インチのHDDは十分すぎるほどの容量があり、最近osのシェアでUbuntuが上昇とのニュースに接し、Ubuntuも入れてみることにした。

HDDDの半分以上の容量が未使用だったので、新しくUbuntuのインストールエリアとlinux-swapエリアを確保して別途USBのインストール媒体を作り、これを起動してインストールした。Ubuntuのboot loaderは本体をインストールしたパーティションの最初の部分にインストールした。

さて、問題は、どうやってDual Bootをさせるかで、grub.cfgをいじるのかとか調べていたら、grub Customizerというツールを使えば簡単に行えることがわかった。起動していらない起動項目をマウスの右クリックで削除し、内容を保存して、update-grubを行うだけである。

なお、HDDの最初の部分にboot loaderをインストールするOSを最後にインストールすると、起動時にそのOSのGrubに含まれるos proberがその他のOSも探し出してくれるので、Grub Customizerは必要ないかも知れない。
しかし、memoryのtestなどの必要でないメニューを整理するには有用である。


2020.06.18

Ubuntu 20.04でWI-U2-433DHP(その2)・・・(ubuntu)

BuffaloのUSB接続のWi-FiアダプターWI-U2-433DHPをlinuxbeanで使用するためにドライバーのインストール方法を先に書いた。
しかし、ドライバーのコンパイルでエラーとなる場合がある。Kernelの版数に伴う問題ではと思われるが、さんざんトライしてもErrorは消えず、新たに下記の方法で成功したので記述しておくこととした。

$ sudo -i      <===      root になります。
# apt-get update
# apt-get install dkms
# apt-get install git
# cd /usr/src
# apt-get -y install git build-essential dkms
# git clone https://github.com/gnab/rtl8812au.git
# mv rtl8812au /usr/src/8812au-4.2.2
# dkms add -m 8812au -v 4.2.2
# dkms build -m 8812au -v 4.2.2
# dkms install -m 8812au -v 4.2.2

これで、再起動すればWI-U2-433DHPが認識され、接続キーをセットすれば使用可能となる。


Next »