C言語
バージョン はじめに ビルド方法 HelloWorld HelloWorld実行 バージョン $ cmake --version cmake version 3.17.2 $ make -v GNU Make 3.81 $ mingw32-make -v GNU Make 4.2.1 $ g++ -v gcc version 8.1.0 はじめに タイトルの通りです。開発環境がVisual St…
FreeTypeとは? FreeTypeのインストール サンプルコード 実行結果 FreeTypeの使い方 初期化 太字or斜体に設定する レンダリング(方法1) レンダリング(方法2) FreeTypeとは? FreeTypeはフォントエンジンを実装したライブラリです。つまり、std::stringと…
今回すること OpenCVを用いて画像の一部を修復します。例えば、下の画像の様に、電線だけ消す、というようなことができます。(下の方は失敗していますが、一番上4本の電線はかなりきれいに消えていると思います) このような画像修復を行うために、cv::inpa…
この記事では、 ↑画像を、 ↑こんな風にするエフェクトをC++で作っていきます。Rotoscoping、AEで言うところのRotobrush、日本語だと前景抽出とかセグメンテーションとかそういう類の技術です。 実装方法 細かいことを言うと、セグメンテーションのアルゴリズ…
タイトルの通りです。今回作ってみるのはこれです。 右側の画面の2つの黄色の円を動かすことで、画像の色調補正を行うことができるプログラムです。 右側の画面の白色の曲線が補正の値を表していて、横軸が入力値(RGBそれぞれ)、縦軸が出力値となります。 …
ピクセルソートとは AfterEffectとかAviUtlの中の数あるエフェクトの中でも気に入っているのがPixelSortです。(AviUtlの場合はAodaruma様の外部スクリプトを導入する必要があります) (AviUtlでのPixelSortの例) その名の通り、画像の「ピクセル」を「ソ…
にゃんぱすー。お久しぶりです。期末テストが終わって夏休みに入ったのでブログを再開しようかなぁと考えているところです。 プログラム 実行結果 解説 インスタンス化 データ共有によるメモリ削減(glVertexAttribDivisor) パーティクルのシミュレーション…
UDP通信について この記事ですること プログラム(送信側) プログラム(受信側) 実行結果 解説(送信側) 初期化 【補足】ポート番号について データ送信 タイムアウト時間設定 解説(受信側) 初期化 データ受信 recv関数 recvfrom関数 ノンブロッキング…
すること サンプルプログラム 実行結果 解説 オフスクリーンレンダリング レンダリングしたデータを取得 すること shizenkarasuzon.hatenablog.com 少し前に、OpenGLを使って四角形を表示するプログラムを書きました。この記事ではOpenGLでレンダリングを行…
タイトルの通りです。 C++を使ってスクリーンキャプチャを行います。 プログラム1(キャプチャ映像表示) 実行結果1 プログラム2(キャプチャした映像をmp4で保存) 実行結果2 参考文献 ちなみに、Python版は↓です。 shizenkarasuzon.hatenablog.com ではま…
前回の記事で、配列からテクスチャを生成し(≧▽≦)マークを描画する、という事をしました。 shizenkarasuzon.hatenablog.com 今回は、これを使って文字列を描画してみます。 準備(配列作成) サンプルプログラム 実行結果 解説 準備(配列作成) 文字をテクス…
変数名とその値を標準出力 ベクトルたち std::vector自作 WinMainのプログラムでもコンソール出力を可能にする 関数マクロ スピーカーの音量変更 マイクの入力レベル変更 変数名とその値を標準出力 define disp(A) (std::cout << #A << " = " << A << "\n") …
環境構築 サンプルプログラム 実行結果 環境構築 shizenkarasuzon.hatenablog.com サンプルプログラム # include <opencv2/opencv.hpp> # include <opencv2/highgui.hpp> # include <iostream> #define ESCAPE_KEY 27 void do_nothing(int size, void*){} void main() { cv::Mat img = cv::imread("C:/Users/Owne</iostream></opencv2/highgui.hpp></opencv2/opencv.hpp>…
1.CUIとGUI 開発環境 実際に作ってみる プロジェクトの作成 プログラム 実行結果 解説 Windows Applicationの基本動作 Windowクラスの登録(RegisterClassEx関数とWNDCLASSEX構造体) hInstance style hbrBackground hIconとhIconSm Windowの作成(CreateWin…
OpenSiv3Dとは 開発環境(この記事) 開発環境(必要最低限) Visual StudioにC++の開発環境を整える Siv3Dの導入 開発環境を整える サンプルプロジェクトを作成→実行 参考文献 OpenSiv3Dとは OpenSiv3Dとは、C++ で楽しく簡単にゲームやメディアアートを作…
いきなりですが、 「ポプテピピックはくそアニメである」は真ですね。...真...ですよね。 「ポプコは小学生である」これは偽ですね。 このように、真偽を判定する式を「条件式」といいます。*1C言語では、上の二つの条件式は次のように書きます。 "ポプテピ…
関数は、よく自動販売機にたとえられます。例えば、こんな感じ。 自動販売機には、入力と出力があります。入力は「購入者が入れたお金」と、「選んだジュースのボタンを押すという動作」です。一方、出力は勿論「ジュース」と「おつり」です。私たちは自動販…
いままで多くのプログラムを書いてきましたが、だれもが一度は、 #include や #define という単語を見たことがあるはずです。今日は、この2つについてブログを書いてみました。 1. #includeの使い方 (1)#include構文の使い方 コラム 2.#define構文 (2)#def…
変数には寿命があります。もう少し正確に言うと、関数の中に定義されている変数には寿命があります。 1.変数の寿命 2.解決策 (1)「static」というキーワード (2)変数を宣言する位置を変更する 1.変数の寿命 下のプログラムを見てください。 int add(int)…
今回は、printf()関数の様々な使い方を紹介していきます。 STEP1 文字列を出力する STEP2 文字列を工夫して表示する STEP3 変数のデータを表示する STEP4 STEP3の書き方を進化させる。 STEP1 文字列を出力する もちろん、printf()関数は、かっこの中の文字列…
では、早速Cについて紹介していきます 1.猫でもわかる基礎の基礎 2.セミコロン 3.コメント コメントの書き方: 4.printf()関数 ~改行の仕方~ 5.文字列 1.猫でもわかる基礎の基礎 まず、プログラムを、こんな風に書いていくと、 #include "stdafx.h" int ma…
C言語の基礎を連載していきます。この記事が第一回目です。 C言語とは? VisualStudio とは VisualStudioのインストール プロジェクトの作成 プログラムを書く 2.ビルド 3.プログラムの実行 C言語とは? C言語とは、プログラミング言語のひとつです。ほかの…
VisualStudio とは Visual Studio Community Visual Studio Professional Visual Studio Test Professional Visual Studio Code Visual Studio Enterprise 公式ホームページによる VisualStudio の説明 VisualStudioをインストール 1.ダウンロード 2.パッケ…