2020-01-01から1年間の記事一覧
Dockerを用いて仮想環境を構築する。 Dockerはインストール済みとする。 仮想環境を作るにはまずイメージ(image)が必要だ。このイメージを見て環境が作られる。 $ docker images ですでにインストールされているイメージが確認できる。 また、Docker Hubから…
pythonコードをはしらせ、以下のようなエラーが出た場合、 TypeError: cannot perform reduce with flexible type intやstrに注意するべき。 自分の場合、ある関数にint型の引数を与えるべきところにstr型を与えてしまい、このようなエラーが出た。 関数に適…
YUViewはオープンソースのYUVプレイヤーである。 インストール方法は以前の記事、 YUViewでHMの符号化によるbinファイルの考察 - jskangarooのブログ に示す。 インストールが完了すれば、左側にあるOpenボタンから動画を読み込む。 だが、読み込んでも動画…
pytorchでMNISTデータセットを用いる際に RuntimeError: output with shape [1, 28, 28] doesn't match the broadcast shape [3, 28, 28] というエラーが出るかもしれない。 これはデータセットの準備をする際のtransformの部分に原因がある。 transform = t…
例えばstring = "abracadabra"があったとする。 string[5]は'a'であり、これを'k'に変更したいとする。 C言語などでは単純にstring[5]='k' とすればよいが、pythonではそのような操作はサポートされていない。 よってできることは2つだ。 1. 一度リストにお…
MATLABでは2枚の画像のPSNRを計算する関数が準備されている。 以下のように書くことでPSNRが計算できる。 ref = imread('画像1へのパス'); target = imread('画像2へのパス'); ans = psnr(target, ref) 実行ボタンをを押すと結果が出力される。
ターミナル(端末)からディレクトリを作成するように、pythonのプログラムからディレクトリを作成することができる。 それを行うにはまずはimport osを始めに書く必要がある。 次に os.mkdir("作成したいディレクトリ") これで作れる。 また一つテクニック…
HEVC参照ソフトウェアであるHMは圧縮を行う際、cfgファイルをもとに行う。 cfgファイルには圧縮を行う方法などが書かれている。 例えばRandom Accessには # Type POC QPoffset QPfactor Frame1: B 8 1 0.442 Frame2: B 4 2 0.3536 Frame3: B 2 3 0.3536 Fram…
HEVC参照ソフトウェアHMのrandom accessコンフィギュレーションでは、デフォルトでGOPは8となっている。 HMのドキュメントではGOPを4にした場合の例が載っていたので、それを実装する。 具体的にはCoding Structureの部分を以下のように書き換える。 #=====…
pythonのライブラリPIL(Python Imaging Library)を用いてjpegやjpeg2000による圧縮を行う方法を示す。 from PIL import Image Image.open('org_img.png').save('new_img.jpg', format='jpeg', quality=50, optimize=True) qualityの値を変化させることで精度…
pytorchのtensorにおいて import torch t = torch.tensor([1,2,3], [4,5,6.]) のようなコードを実行すると、 tensor() takes 1 positional argument but 2 were given というエラーが出る。 これはtensorには1つのアーギュメントを認識するのにも関わらず、…
ディレクトリ内のファイル数 現在のディレクトリ $ ls -1U | wc -l ディレクトリを指定 $ ls -1U (ディレクトリ)| wc -l ファイルサイズ $ ls -dl (ファイル)
CLICでは毎年動画圧縮に関する大会が開かれる。 Workshop and Challenge on Learned Image Compression Challenge>tasksからタスクが確認でき、今年は 1. Low-rate Compression 2. P-frame Compression の2つだった。 今回は2番のP-frame Compressionに参…
例えばBQMallという動画の31フレームをJMでエンコードするために、binファイル下で ./lencod.exe -f "../bin/HM-like/encoder_JM_RA_B_HE.cfg" -f "../bin/HM-like/per-sequence_JM/BQMall.cfg" -p InputFile="BQMall.yuv" -p FramesToBeEncoded=31 -p QPISl…
カレントディレクトリを変更せずにコマンドを実行するためには $ (cd ./different/directory/ && ls) などのように、()でコマンドをくくることによりサブプロセスが生成され、可能となる。 また、スクリプトで別のディレクトリからプログラムを実行するには …
cudaがインストールされていてもnvccでバージョンなどが確認できない場合、 $ echo -e "export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}$ " >> ~/.bashrc $ echo -e "export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LI…
scipyは $ apt-get install python-scipy $ pip install scipy でインストールできる。 しかしimreadがimportできないというエラーがでる場合がある。 これはバージョンが新しいものではサポートされなくなったからだ。 よって古いバージョンである1.1.0をイ…
$ python $ import torch $ print(torch.__version__) で確認ができる。 また、pythonでは-cというオプションがあり、これを用いるとpythonコマンドとして渡されたpython文を実行する。 $ python -c コマンド これを用いると、pytorchのバージョンは $ pytho…
HEVC参照ソフトウェアであるHMの符号化によって得られるbinファイルをYUViewというソフトウェアで分析を行う。 以下はYUViewのGithubであり、 https://github.com/IENT/YUView 以下のリンクから最新のリリースを確認できる。 https://github.com/IENT/YUView…
アプリがフリーズしたとき、Quitできなくなったときは強制終了を行う。 OPTION + COMMAND + ESC で起動中のアプリのリストが表示される。 Quitしたいアプリを選び、Force Quitをクリック。 こうして強制終了が行える。
ValueError: I/O operation on closed file. このようなエラーが出たらopenされていないファイルに書き込もうとしたということ。 1. コードで書き込む部分の前で f.close() をしてしまっていないか、確認する。 2. forループなどでファイルの処理を行ってい…
Independent JPEG Groupとは、JPEGを無料で提供している団体だ。 記事を書いている現在、最新のバージョンは9dとなっている。 ここからはソフトウェアのインストールについて解説する。 linux環境を想定する。 1. tar.gzファイルの取得 $ wget http://www.ij…
ここではpythonコードでimport osによって行えることを記述する。 linuxコマンドの実行 os.system("ls") パスの結合 os.path.join("/dir1/dir2","file.py") 詳しくはhttps://www.sejuku.net/blog/64408を参照。 ファイルサイズの取得 os.path.getsize("/dir1…
JMとはH.264/AVCの参照ソフトウェアである。 公式サイトはこちら:http://iphome.hhi.de/suehring/ JM reference manualにそって進める。 1. まずはzipファイルのインストール http://iphome.hhi.de/suehring/tml/download/ にあるzipファイルをクリック、あ…
Cmakeは以下のサイトを参考にインストールが可能だ。 How to Install CMake on Ubuntu 18.04 LTS ここでもインストール方法を記述する。 1. CMakeのバージョン確認 Download | CMakeからCMakeのバージョンを確認する。 2. 最新のものをインストール 例えば $…
OpenJPEGとはJPEG2000の参照ソフトウェアである。 インストールには公式の https://github.com/uclouvain/openjpeg/blob/master/INSTALL.md と http://blog.k-tai-douga.com/article/174692342.html を参考にすると良いが、ここでも説明する。 1. CMakeのイ…
まずはじめにHMとはHEVCの参照ソフトウェアである。 https://hevc.hhi.fraunhofer.de がそのサイトで、HM software manualからマニュアルも見ることができる。 ここからはそのインストール方法を記述する。 1. まずはsubversionのインストールを行う。 $ apt…