2025-12-18
#js 
Pure JavaScriptで実現するPNGからJPEGへのフォーマット変換です。


「png2jpg - GitHub」

以前つくった PNG.js と、 JPEG.js を使って、変換するだけのシンプルなライブラリですが、使いたい時にすぐ使えてきっと便利。

OpenAIを使ったOCRで、PNGを使った時に変換に失敗することがあったので用意しました。

links
- デコードと非同期に対応した純粋JavaScriptのES実装 PNG.js
- 学校DXがテーマの高専インカレチャレンジ成果発表会、M1macを手にしたチームは!? zoom記念写真から名前を消すオープンソース

2025-12-17
#js 
画像化された文字をテキストデータにする技術をOCR(光学文字認識)と呼び、昔からありましたが、AI(LLM)登場のお陰で、ぐっと精度が高くなりました。


「code4fukui/openai-imagerecog」

OpenAI社のAPIを使ったOCRライブラリ、img2txt.js を作りました。APIキーを取得し、コマンドラインやプログラム内から呼び出すだけ!


こちら、とうほくプロコン2025参加作品の「東北地方観光案内センター V1.1」の図鑑の一コマ。


img2txt.jsを使ってテキストデータ化できそうです。

新型コロナウイルス対策ダッシュボードの開発で使っていた頃は、数字部分のみの画像にして認識させていましたが、今はざっくり渡せばいいので楽です。いずれにしても、間違うことはあるので必要に応じて対策しましょう。

links
- なければつくろう、中学生も貢献!全国都道府県別検査陽性率ダッシュボード、OCRで画像データを数値化しJSON-API化、GitHubオープンソースで提供
- とうほくプロコン2025

2025-12-16
#js 
とうほくプロコン2025の作品、SICA-HEALが教えてくれた魚の旬。季節を扱うクラスがあると便利なので、日時ライブラリ day-es に、Seasons.js を追記しました。


「code4fukui/day-es」

日時を扱う時に便利です!

テストコードは下記の通り。

import * as t from "https://deno.land/std/testing/asserts.ts"; import { getSeason } from "./Seasons.js"; Deno.test("simple", () => { t.assertEquals(getSeason(), "winter"); // 2025-12 t.assertEquals(getSeason(new Date("2025-12-01")), "winter"); t.assertEquals(getSeason(new Date("2025-03-01")), "spring"); t.assertEquals(getSeason(new Date("2025-06-01")), "summer"); t.assertEquals(getSeason(new Date("2025-09-01")), "autumn"); t.assertEquals(getSeason(new Date("2025-11-30")), "autumn"); }); Deno.test("ja", () => { t.assertEquals(getSeason(new Date("2025-12-01"), "ja"), "冬"); t.assertEquals(getSeason(new Date("2025-03-01"), "ja"), "春"); t.assertEquals(getSeason(new Date("2025-06-01"), "ja"), "夏"); t.assertEquals(getSeason(new Date("2025-09-01"), "ja"), "秋"); });

deno test コマンドで使うと、ライブラリにバグがないことをテストコードの範囲内で確認できます。

$ deno test Seasons.test.js running 2 tests from ./Seasons.test.js simple ... ok (0ms) ja ... ok (0ms) ok | 2 passed | 0 failed (3ms)

12月-2月を冬、3月-5月を春、6月-8月を夏、9月-11月を秋と定義しましたが、昨今の気象変動を勘案するとちょっとずらしたほうがいいのかも?

実は、テストコード、パラメータ指定なしで現在日時で季節を返すので、春がくるとテストがエラーとなります。

links
- ARゴーグルでお魚料理支援、とうほくプロコン2025作品データの活用法

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS