タグ

2022年6月22日のブックマーク (32件)

  • C++ 高速化 OpenMP

    top C++ 高速化 OpenMP 2018-07-21 - 2018-07-25 (update) mode save 高速化の解説一覧:[link:高速化] 処理を分担し並列計算させることで,時間のかかる処理も高速化できる場合があります.処理を並列化させたい場合,当然ながらコード上に並列化のための記述を加える必要があるのですが,OpenMPではシンプルな記述のみで並列化を実現できます. *OpenMP とは 並列化を行うための拡張言語です.CPUによる並列化を実行できます.{{small:GPUによる並列化は含みません.}} 対応言語:C/C++,Fortran 対応コンパイラ:gcc, Clang,Microsoft Visual C++,Intel Compiler(C++/Fortran) OpenMPの利用方法については,下記の資料が参考になります. {{small:[1]R

  • [入門] HaskellでGUIプログラミング 導入編 - Qiita

    HaskellでGUIプログラムを作成する方法を解説します。 具体的にはgi-gtk-declarativeというライブラリを使ってHello Worldするまでの流れを解説します。開発環境はWindows 10です。 ソースコードの詳しい解説は次の記事でする予定です。 Gtk+3開発環境の構築 https://www.msys2.org/ からMSYS2のインストーラーをダウンロードして実行します。バージョンが古いかもしれませんが、このリンクをクリックしてもインストールをダウンロードできます。 次にMSYS2を実行してMSYSの端末を開き、必要なパッケージをインストールします。 pacman -Syy pacman -S -q --noconfirm mingw-w64-x86_64-glade mingw64/mingw-w64-x86_64-pkg-config mingw64/mi

    [入門] HaskellでGUIプログラミング 導入編 - Qiita
  • What's the right way to add directories to XDG_DATA_DIRS?

  • Visual Studio Codeを用いたC/C++開発・デバッグ環境の構築(Windows 10, macOS Catalina) - Qiita

    Visual Studio Codeを用いたC/C++開発・デバッグ環境の構築(Windows 10, macOS Catalina)C++macOSWindows10msys2VSCode はじめに この文書はWindowsにおけるVisual Studio Codeを用いたC/C++開発環境の構築方法を述べたものである.対象はC/C++をこれから学ぶ人. 追記 launch.json内のpreLaunchTaskの値が間違っていたのを訂正(2020/4/21). clang-formatの設定に確認項目を追加(2020/4/22). macOS Catalinaにおけるセットアップ方法を簡略化(2020/5/16). Msys2とVisual Studio Codeの順番を入れ替え(2020/5/16). Msys2インストーラで発生している問題の回避法を追記(2020/5/21) O

    Visual Studio Codeを用いたC/C++開発・デバッグ環境の構築(Windows 10, macOS Catalina) - Qiita
  • ubuntu C言語 GDライブラリのインストール - Qiita

    [Ubuntu] [C言語] GDライブラリのインストール インストールは、 $ sudo apt-get install libgd-dev インクルードは、 #include <gd.h> リンクには -lgd を追加。 以上。

    ubuntu C言語 GDライブラリのインストール - Qiita
  • C++で画像を作る用のライブラリサーベイ - Qiita

    概要 C++でグラフや、スペクトログラムや、美麗な画像とかを作りたかったので、サーベイしました。 対象読者 C++で美麗な画像を作りたい方 結論 CImgを使えばOK ※ 実際に使ってみたら変わるかもしれませんが 成果物 さっそく美麗なスペクトログラムを作りました。導入が簡単ではかどりました。 要件 必ずやりたいこと ピクセル単位で画像をいじれる pngかbmpで出力できる できればやりたいこと テキスト描画 各種美麗なエフェクト アンチエイリアスのかかった美麗な線を引く 簡単にグラフを描ける 導入が楽 ライセンスはサーバー側で使った場合に、ソースコードを公開しなくても良いやつ OpenCV 導入がめんどくさそうなのでなしです。 cairo ホームページがダサくてgithubがメインになっていないので、古そう。 Ion github star 1325 かっこよさそうですが、今回の要件に必

    C++で画像を作る用のライブラリサーベイ - Qiita
  • Debian7 CPANでinstall GDするとjpegテストエラーでこける - Qiita

    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/GD.t ........ 1/12 Testing using png support. t/GD.t ........ Failed 1/12 subtests (less 1 skipped subtest: 10 okay) t/Polyline.t .. ok Test Summary Report ------------------- t/GD.t (Wstat: 0 Tests: 12 Failed: 1) Failed test: 10 Files=

    Debian7 CPANでinstall GDするとjpegテストエラーでこける - Qiita
  • Package: mingw-w64-x86_64-libgd - MSYS2 Packages

  • libgd メモ

    gd は c 言語から GIF ファイルを生成するためのライブラリである. ここに大 体の使い方をまとめた. 引数の確認程度の情報しかないので, 詳しいことはgd1.3 のホームページを参照 のこと. 現在のバージョン (1.3) よりも 1.2 の方がコンパクトな GIF フィル が作れる. これは内部で使われる圧縮方法のパテントがらみでそうしているとの ことで, 作者はファイルサイズに関する苦情はいっさい受け付けないそうである. 利用方法 | データ型 | 関数一覧 | 関数要約 | 定数 | サンプルプログラム 1998/9/4 by Takahiro Sumiya 1. 利用方法 libgd の関数を使ったソースを作成する. test.c とする. libgd.a があるディレクトリを ~/lib とする. gd.h (libgd のヘッダファイル) があるディレクトリを ~/in

  • GD Graphics Library - Wikipedia

    GD グラフィック ライブラリ (GD Graphics Library) はトーマス・ボーテル (Thomas Boutell) 他によって作られたイメージを動的に操作するライブラリである。来のプログラミング言語はANSI Cであるが、他の多くのプログラミング言語とのインタフェースが作成されている。GIF、JPEG、PNG、WBMP を生成できる。 1999年に米ユニシスがGIFに使用されている LZW圧縮法の非商業的なソフトウェア・プロジェクトに許可していた無償のライセンスを取り消したことにより、GIF を操作する機能は削除された。2004年7月7日、ユニシスの特許が世界中で失効した時に、GIFを操作する機能が再び実装された。 GDは元来、「GIFを描く (GIF Draw)」を表していた。しかしユニシスが無償ライセンスを取り消した後は非公式に、「グラフィックを描く (Graphic

  • Windows (Msys2)でclang-formatを使う | うどんコード

    Windows (Msys2)でclang-formatを使う by Littlen · 公開済み 2020-03-06 · 更新済み 2020-03-08 Windows (Msys2) 環境でclang-formatを使う方法 インストール Msys2での導入は簡単。pacmanコマンドで一発

  • 【2023年最新版】ソースコード整形・コードフォーマッターあれこれ

    ・C/C++/C#/Objective-C/Java clang-format apt install clang-format clang-format <filename> clang-format -i <filename> # 上書き uncrustify apt install uncrustify uncrustify -c uncrustify.conf --no-backup *.c などとして使う。--no-backupをつけると既存ファイル上書き。 confは整形コンフィグファイル。ぐぐると色々な場所に様々な設定が落ちている。 当サイトのuncrustify.conf ・HTML/JavaScript tidy、Node.jsのprettier、どちらもHTML/JavaScript両方フォーマットしてくれるが、個人的にはHTMLはtidy、JavaScriptはpre

  • PythonのCIE DE2000計算速度比較 - Qiita

    みんな大好き速度比較 色差式CIE DE2000は、人間の知覚にかなり近い値を得られるが、そのかわり計算が重い。Pythonですぐに使えるパッケージ3つの速度を比較してみた。 scikit-image colour-science colormath sRGBの[32,32,32]と[32,31,32]を比較する。3つとも色差関数が引数に取るのはL*a*b*なので、計算時間にはsRGB→L*a*b*の変換も含む。 import numpy as np import timeit RGB1 = np.array([32,32,32],np.uint8) RGB2 = np.array([32,31,32],np.uint8) from skimage import color def skimage_rgb2lab(rgb): return color.rgb2lab(rgb.reshape

    PythonのCIE DE2000計算速度比較 - Qiita
  • Pythonによる画像の任意色への減色処理

    1Traceback (most recent call last): 2 File "c:\Users\user\Documents\kinji_question.py", line 56, in <module> 3 diff = color.deltaE_ciede2000(np.expand_dims(img_lab, axis=2), palette_lab) 4 File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\skimage\color\delta_e.py", line 208, in deltaE_ciede2000 5 L2, a2, b2 = np.moveaxis(lab2, source=channel_axis, destination=0)[:3] 6 F

    Pythonによる画像の任意色への減色処理
  • US Patent for Pattern dithering Patent (Patent # 6,606,166 issued August 12, 2003) - Justia Patents Search

  • US6606166B1 - Pattern dithering - Google Patents

    mieki256
    mieki256 2022/06/22
    2019年に特許が切れたAdobeのパターンディザの方法
  • Arbitrary-palette positional dithering algorithm

    Joel Yliluoma's arbitrary-palette positional dithering algorithm This paper introduces a patent-free¹ positional (ordered) dithering algorithm that is applicable for arbitrary palettes. Such dithering algorithm can be used to change truecolor animations into paletted ones, while maximally avoiding unintended jitter arising from dithering. For most of the article, we will use this example truecolor

  • scikit-image: Image processing in Python — scikit-image

    scikit-image is a collection of algorithms for image processing. It is available free of charge and free of restriction. We pride ourselves on high-quality, peer-reviewed code, written by an active community of volunteers. If you find this project useful, please cite: [BiBTeX] Stéfan van der Walt, Johannes L. Schönberger, Juan Nunez-Iglesias, François Boulogne, Joshua D. Warner, Neil Yager, Emmanu

  • Pythonを用いた画像処理(openCV,skimage) - Qiita

    はじめに 今年、独学でPython機械学習について勉強を始めました。 機械学習をする際に、学習させる画像をいろいろな方法で画像処理や特徴量の抽出を行ったので簡単にまとめたいとおもいます。 余談になりますが、私周辺の知り合いに 「何故Pythonを勉強してるのか?、JavaC++を勉強しないのか?」 と聞かれることが多いです。 たしかにPythonは他の言語より実行が遅く、実行速度が重要視されるようなシステム開発には向いてないと思います。しかし、私みたいなプログラミング初心者から見ると、他の言語よりコードの書き方の統一感があって他人のソースコードを理解しやすい、パッケージ(モジュール)が豊富で情報工学などの知識が疎遠な私でも作りたいものを簡単に作ることができる利点があると思います。 なので、記事はPythonを用いた画像処理についてまとめたいと思います。 OpenCV OpenCVのイ

    Pythonを用いた画像処理(openCV,skimage) - Qiita
  • 3.3. Scikit-image: 画像処理 — Scipy lecture notes

    3.3. Scikit-image: 画像処理¶ 著者: Emmanuelle Gouillart scikit-image は画像処理に特化した Python 画像ライブラリで、 NumPy 配列を画像オブジェクトをネイティブに扱います。この章では scikit-image を多様な画像処理タスクにどう利用するかや NumPy や Scipy などの他の Python の科学技術モジュールとの連携についても扱います。 参考 基的な画像操作、たとえば画像の切り抜きや単純なフィルタリングなど、多くの単純な操作は NumPy や SciPy でも実現できます Numpy と Scipy を利用した画像の操作と処理 を参照して下さい。 この章を読む前に前の章の内容について慣れておく必要があります、マスクやラベルといった基操作は準備として必要です。

    3.3. Scikit-image: 画像処理 — Scipy lecture notes
  • 【Python】scikit-imageをインストールして画像処理を行う

    「ガウシアンフィルタでノイズを除去したい」 「ぼやけた画像のエッジを強調させたい」 「Pythonで画像処理を行いたい」 このような場合には、scikit-imageが利用できます。 この記事では、scikit-imageについて解説します。 記事の内容 scikit-imagetとは?scikit-imageのシステム要件scikit-imageのインストールscikit-imageの動作確認 それでは、上記に沿って解説していきます。 scikit-imageとは? scikit-imageは、画像処理のためのアルゴリズムを集めたPythonライブラリです。 画像処理とは、次のような機能になります。 セグメンテーション幾何学的変換色空間の操作・分析フィルタリングモルフォロジー特徴検出 実際のモノを見た方がわかりやすいでしょう。 scikit-imageを使えば、次のように画像を変換でき

    【Python】scikit-imageをインストールして画像処理を行う
  • Pythonで、いくつかの指定した色に似た色になるように、画像のピクセルを置き換えたい

    前提・実現したいこと Pythonにおいて、PILで画像処理を行なっています。 画像全体をピクセルごとに、予め用意したカラーパレットの色に変換したいと考えています。 ソースコードにある通り、(r,g,b)の順に並べたpaletteというタプルのリストを作り、画像内で1ピクセルごとにどの色を示すタプルが最も近い色なのかを判定しようとしています。 以下のソースコードではbase.jpgというファイルを処理してoutput.jpgを作ろうとしています。 私はpython初心者のため、ソースコードに汚い部分がると思います。 よろしくお願い致します。 該当のソースコード Python 1from PIL import Image 2import numpy as np 3 4 5im=Image.open("base.jpg") #元画像base.jpg 6new_im=Image.new('RGB

    Pythonで、いくつかの指定した色に似た色になるように、画像のピクセルを置き換えたい
  • ImageMagick でコントラスト補正 - Qiita

    はじめに -auto-level や -normalize は画像が明るすぎたり暗すぎたりする際、見やすくする為によく使われます。それらが具体的に何をしてるかのメモです。以下のオプションを紹介します。 -level, -auto-level, -normalize, -contrast-stretch, -linear-stretch, -contrast コントラスト補正は特定区間の輝度レベルを輝度 Min-Max まで広げる処理です。一次式(ax+b)で線形に広げる事が多く、その事を linear contrast stretch とも呼びます。 例えば、曇り空でどんより暗い景色の画像は、輝度ヒストグラムの分布が左側(暗い方)に偏っている為、輝度レベルを広げて右側(明るい方)を有効活用するだけで見やすくなります。 画像 補正後

    ImageMagick でコントラスト補正 - Qiita
  • ImageMagick で Equalize (ヒストグラム平坦化) - Qiita

    こちらから ImageMagick に関する記述を抜き出した記事です。 PIL でカラー画像を Equalize(ヒストグラム平坦化)する際の注意 https://qiita.com/yoya/items/a11085f90f555b887cf6#imagemagick ヒストグラム平坦化とは 輝度ヒストグラムの偏りを減らす事で視認性を向上させる代表的なアルゴリズムです。 例えば、暗い方に色の輝度が偏っているケース。 % echo "P2 3 3 31 \ 31 7 6 \ 5 4 3 \ 2 1 0 " | convert - -sample 300x300 3x3.png % convert 3x3.png -equalize 3x3eq.png

    ImageMagick で Equalize (ヒストグラム平坦化) - Qiita
  • ImageMagick の equalize の昔話 - Qiita

    ImageMagick の equalize(ヒストグラム平坦化) の昔話です。 2012年2月(ImageMagick-6.7.9-3) まで ImageMagick の equalize は色味を維持しませんでした。そこから 2013年6月(ImageMagick-6.8.6-3)までの長きに渡る改良の末今の equalize に落ち着いたバージョンの流れをメモしておきます。 ヒストグラム平坦化とは何か、色味を維持しないとどうなるかの説明はこちらを参考にして下さい。 PIL でカラー画像を Equalize(ヒストグラム平坦化)する時の注意 https://qiita.com/yoya/items/a11085f90f555b887cf6 画像サンプル 6.7 と 6.8 で挙動違くない?のツッコミ issue から画像を拝借。 (c) https://imagemagick.org/

    ImageMagick の equalize の昔話 - Qiita
  • PIL でカラー画像を Equalize(ヒストグラム平坦化)する時の注意

    Equalize(ヒストグラム平坦化) みんな大好き、ヒストグラム平坦化。 輝度ヒストグラムの偏りを減らす事で視認性を向上させる代表的なアルゴリズムです。 例えば、暗い方に色の輝度が偏っている画像があるとします。 % echo "P2 3 3 31 \ 31 7 6 \ 5 4 3 \ 2 1 0 " | convert - -sample 300x300 3x3.png % convert 3x3.png -equalize 3x3eq.png 以下のように輝度の階調を均すと、見た目潰れかかっている階調が改善する傾向にあります。 (ヒストグラムは横軸が輝度、縦軸は該当輝度のカウント数を最大値で正規化) 実験画像(3x3.png) ヒストグラム平坦化(3x3eq.png) 画像認識の前処理でよく使われます。(お世話になっております!) サンプルデモを作ってみたので、とりあえず画像ファイルを

    PIL でカラー画像を Equalize(ヒストグラム平坦化)する時の注意
  • JavaScriptでCIEDE2000色差計算 - Qiita

    Color difference(wikipedia)で公開されているCIEDE2000の色差計算式をJavaScriptで書いてみました wikipediaで公開されている計算式は以下のとおりです。 (「Color difference」(5 Feb 2017, at 02:30. UTC)『ウィキペディア』より引用) 2000というくらいですからきっといちばん新しいのではないかと思うのですがユークリッド、CIE76、CIE94と比較してかなり複雑な印象を受ける計算式です。実際のプログラムも複雑なものとなりました。 function ciede2000(L1,a1,b1, L2,a2,b2, kL=1,kC=1,kH=1) { //http://en.wikipedia.org/wiki/Color_difference#CIEDE2000 var radianToDegree = fu

    JavaScriptでCIEDE2000色差計算 - Qiita
  • JavaScriptでRGBからLab色空間への変換 - Qiita

    RGBからLab色空間に変換するJavaScriptスクリプトです。変換のアルゴリズムは以下のwikipediaのページを参考にしています。 sRGB#The reverse transformation - wikipedia Lab color space#CIELAB-CIEXYZ conversions - wikipedia RGBからLabに変換するためのアルゴリズムを探してみたのですが、見つけることができなかったため、RGBからXYZに変換して、XYZからLabに変換といった事を行なっています。 function rgbToLab(r,g,b) { //https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation var r = r / 255; var g = g / 255; var b = b / 255;

    JavaScriptでRGBからLab色空間への変換 - Qiita
  • 色について2 - Qiita

    色空間(Color Space)は立方的に記述される色の空間です。色を秩序立てて配列する為の方法で、色を座標で指示する事ができます。 色の構成方法は多様です。また、色の見え方には個人差がある為に、色を定量的に表すために、いくつかの規約が設けられます。 ある色空間が表現できる色の範囲を色域と呼びます。色空間は通常3種類か4種類の数値を組み合わせる事で表現されます。 色を表す系列 表色系 色空間を知る前に、基礎知識として表色系を学んでいた方が色空間の理解が早くなりますので、先に触れておきます。 表色系は心理的概念や心理物理的概念によって、色を定量的に表す体系です。 通常は3つの方向性で構成される3次元空間で表現されて、色空間を構成します。 混色系 混色系は、色を心理物理量と捉えて、色刺激の特性で表すものです。色を数値として伝達するのに適しています。 顕色系 顕色系は、色を三属性の特徴に従って配

    色について2 - Qiita
  • 色差アルゴリズムの違いをビジュアル化してみた - Qiita

    2つの色の知覚的な差を定量化するアルゴリズムがいつくか公開されていて、このアルゴリズムを使って計算すると色の違いを数量化することができます。値が小さければ小さいほど似て(又は同じ色)に見え、大きければ大きいほど異なって見えるということらしいです。 以前Color difference(Wikipedia)で公開されていた色差を求める計算式をJavaScriptで作ってみたことがあったので、それぞれの結果の違いをビジュアル化してみました。 色差計算およびカラーサンプル作成に使ったHSVからRGBに変換するスクリプトはページの最後にリンク先を載せていますので、間違っている等、お気づきのところがあったら教えてくれると助かります。 どうやってビジュアル化する? 以下のようなHSVカラーサンプルを作って、それを変換することで確認してみたいと思います。 変換先の色として私でもイメージできそうな以下の1

    色差アルゴリズムの違いをビジュアル化してみた - Qiita
  • 色の距離(色差)の計算方法 - Qiita

    はじめに 例えば以下の2つの画像,左と右の色を比べたときにどちらの方が色が近いと思いますか? #FF0000と#400000 #FF0000と#FFBF00 単純にRGB値の距離を計算すると二つの色の距離は同じ. しかし1つ目の画像は単に暗くなっただけなのに対して,2つ目の画像は色相が変わっているため,例えば写真のマッチングを取る場合は上の方が似た色として判別した方が都合が良くなったりする. こうした色の距離,色差の計算について実装してみた. ソースはJava 8を前提に書いているが,Androidでも動作する(はず).ただし,AndroidではColorクラスが違うため適宜変更してほしい. 下準備 JavaAndroidのColorクラスの違いや,RGB値の保存などを目的として下記のクラスを準備する.RGB値のint値を受け取るとそれぞれをdoubleの値として配列を作成し,保存する.

    色の距離(色差)の計算方法 - Qiita
  • 色差 - Wikipedia

    色彩科学において、色差(しきさ)あるいは 色の距離 (いろのきょり)は、2つの色の間に定義される指標の一つである。色差が大きいほど区別しやすく、色差が小さいほど区別しにくくなる。 従来は官能評価することしかできなかった「色の差」の概念が、色差を用いることにより定量的に検討できるようになった。重要な色の判定等において、これら特性の定量化は極めて重要である。通常はデバイス非依存の色空間におけるユークリッド距離で定義される。 ユークリッド距離[編集] ほとんどの色差の定義は色空間における距離であり、距離の決定方法はユークリッド距離である。ある色空間がRGB (Red, Green, Blue) の組み合わせから構成され、そこで色差を計算する場合、R, G, Bからなる線形3次元空間で構成される色空間で計算する。 単純化のため、しばしば平方根を取り除いて計算が行われる: この式は、単一の色と色同士