Optie研

パソコンで絵や動画を作る方法について

Python と OpenCV でデッサンスケールを作る

今回は小物ネタです。 2020/10/22 更新: アルファブレンドを実装し、グリッド線の不透明度を設定できるようになりました。 概要 以下のような、デッサンスケールと呼ばれる道具をご存知でしょうか。 出典: はかり棒・デッサンスケール - はかりぼう・でっさ…

Pytorch Lightning で生成モデル — Autoencoder

最近は主に画像の深層生成モデルに取り組んでいます。ライブラリとしてはしばらくは PyTorch を使っていたのですが、最近、 構造的に書くことのできるラッパーとして Pytorch Lightning を使い始めました。 今回、練習としてオートエンコーダを実装し、手書…

制約つき最適化問題を解くための二乗罰則法と対数バリア法および Julia による実装

復習シリーズ2. 表題の内容について自分の理解でまとめます. 前回: optie.hatenablog.com 制約つき最適化問題 等式制約問題 不等式制約問題 実装 制約つき最適化問題 とは, 以下のように定式化されるものです. $\mathcal{X} \subset \mathbb{R}^d$ 上の微分…

制約なし最適化問題における勾配法と, Julia によるバックトラック直線探索の実装

大学で受けた講義の復習として, 表題の内容について自分なりの理解でまとめます. 制約なし最適化問題 凸関数 勾配法(最急降下法) アルミホ規準とバックトラック直線探索 バックトラック直線探索の julia 実装 制約なし最適化問題 とは, 一般の$d$変数関数…

Python3 & OpenCV で画像処理を学ぶ[7] 〜 エッジを保存する平滑化フィルタ

1. はじめに 2. エッジ保存平滑化 2.1. 下準備 2.2. メディアンフィルタ 2.3. バイラテラルフィルタ 2.4. 最大値・最小値フィルタ 3. まとめ 4. 参考文献 1. はじめに 前回 optie.hatenablog.com は線形フィルタによるたたみこみで平滑化を行いました。 しか…

Julia言語と Plots + GR で複素関数のgifアニメーションを作る

1. この記事について やりたいこと やること 2. 下準備 パッケージのインストール IJulia Plots GR LaTeXStrings ProgressMeter 3. プロット & アニメーション importとヘルパー関数など 例1. $z=w^2$ 関数化 例2. $w=\frac{1}{z}$ 例3. $w= \sin z$ 例4. $w…

Python3 & OpenCV で画像処理を学ぶ[6] 〜 numpy で畳み込み演算と平滑化フィルタの実装

1. はじめに 2. 基本概念 2.1. 空間フィルタリングとは 2.2. 畳み込み演算とは 3. 平滑化の実装 3.1. 平均化フィルタ 3.1.1 python/numpy による実装 3.1.2 opencvによる実装 3.2. ガウシアンフィルタ 3.3. 応用 : 特定方向の平滑化 4. おわりに 5. 参考文献…

Python3 & OpenCV で画像処理を学ぶ[5] 〜 AfterEffects/Photoshopにある描画モードを実装する

1. はじめに 2. 合成モード実装実験 2.1 下準備 2.2 「減算」族 〜 重ねると暗くなる 2.2.1 比較(暗) Darken 2.2.2 乗算 Multiply 2.2.3 焼き込みカラー Color Burn 2.2.4 焼き込みリニア Linear Burn 2.2.5 カラー比較(暗) Darker Color 2.3.「加算」族 〜 …

Python3 & OpenCV で画像処理を学ぶ[4] 〜 アルファブレンドとエンボス効果(画像間演算の基礎)

1. はじめに 2. 画像ブレンドの基礎 2.1. 画像間演算 2.2. アルファブレンディング 2.2.1 $\alpha_2=1$ と仮定する場合 2.2.2 $\alpha_2=1$ とは限らない一般の場合 2.2.3 プリマルチプライド 2.2.4 アルファブレンド実装実験 2.2.5 アルファブレンドのまと…

Python3 & OpenCV で画像処理を学ぶ[3] 〜 トーンカーブ と LUT を理解する実装実験

1. はじめに 2. トーンカーブ基礎実験 2.1 トーンカーブの基礎 2.1.1 例1: $y=x$ 2.1.2 例2: S字トーンカーブ 2.1.3 例3: ガンマ変換 2.1.4 使用したコード 2.2 LUT(Look Up Table)による高速化 2.2.1 LUTとは? 2.2.2 LUTの実装 2.2.3 LUTの速度性能 3. …

Python3 & OpenCV で画像処理を学ぶ[2] 〜 情報可視化のためのヒストグラム基礎実験

Python3 で numpy, matplotlib, OpenCV を利用して、画像データの一次元・二次元ヒストグラムの描画をします。RGB, HSV, L*a*b*空間でのヒストグラムについて取り扱います。

Python3 & OpenCV で画像処理を学ぶ[1] 〜 色空間を工学的に理解する

色空間についての工学的な理解を深めるために、XYZ表色系やRGBに代表される様々な色空間の意味や性質、およびその関係性についてまとめています。

Python3 & OpenCV で画像処理を学ぶ[0] 〜 OpenCVの導入

これから何回かに分けて、Python3でOpenCVライブラリを使用しながら画像処理を僕が学んでいきたいと思います。 目標としては、「OpenCVでできること&その書き方を概略的に把握し、未知の実装も適当に調べれば書ける状態になること」といちおう定義しておきま…

このブログは?

はじめに Optieです。ブログを始めました。 本記事は、最初の投稿として、「このブログが一体何であるのか」をまとめることとします。 そのために、「なぜ書くのか」「何を書くのか」という点について簡潔に記します。 なぜ書くのか ブログ開設の主な理由と…