Skip to content

Instantly share code, notes, and snippets.

(let* (
(img (car (gimp-image-list)))
(layer (car (gimp-image-get-active-layer img)))
(width (car (gimp-drawable-width layer)))
(height (car (gimp-drawable-height layer)))
(new-width(inexact->exact (floor (* {bairitsu} width))))
(new-height(inexact->exact (floor (* {bairitsu} height))))
)
(gimp-layer-scale layer new-width new-height INTERPOLATION-CUBIC)
)
# 出力ファイル名に使っているloraの名前と年月日を付与するスクリプト
# webui\scriptsに設置してReload UIすると適用される
import re
from modules import scripts, script_callbacks, shared
from datetime import datetime
def filename_hook(params):
# StableDiffusionProcessing オブジェクトから prompt を取得
prompt = getattr(params.p, "prompt", "")
# LoRA名を抽出
# Civitaiのinfoファイルを使ってLoraを分類するコード
# プレビュー画像は取り直しなので注意
require 'json'
require 'fileutils'
# === 設定 ===
TARGET_DIR = 'C:\SD\webui\models\Lora\nofolder' # 対象のフォルダに書き換えてください
DEST_BASE_DIR = 'C:\SD\webui\models\Lora\copied' # 分類結果を保存するフォルダ
import os
from glob import glob
from skimage.metrics import structural_similarity as ssim
import cv2
import sys
from pathlib import Path
def calculate_ssim(image_path1, image_path2):
"""2つの画像間のSSIM(構造的類似性)を計算する"""
img1 = cv2.imread(image_path1, cv2.IMREAD_GRAYSCALE)
# 渡ってきた複数ファイルのうち、拡張子がsafetensorsのファイルを探し、
# それ以外の画像ファイルをすべて同じファイル名に変える。
# CivitaiからダウンロードしてきたLoRAに対して使う。
require 'fileutils'
def rename_files_to_same_name
imagefiles = []
safefilename = ""
ARGV.each do |file|
#
# PNGファイルのメタデータを全部読み込んでメモ帳に表示
#
require 'chunky_png'
require 'securerandom'
tempdir = 'C:\SD\pnglog'
if (ARGV.count < 1)
puts "please set parameter for file"
exit
#
# フォルダ以下のPNGファイルのメタデータを全部読み込んでHTMLに書き出す
# Stable Diffusion で参考になるプロンプトを探すために作成
#
require 'chunky_png'
def template_html
return <<'EOS'
<!DOCTYPE html>
double grayScaleFromPixel(img.Pixel px) {
return (px.r + px.g + px.b) / 3;
}
bool _hitTest(img.Image? clipImage, int x1, int y1, int x2, int y2, int width,
int height) {
// 切り抜き画像がnullかどうか
if (clipImage == null) {
return false;
}
ご飯を炊く = Ractor.new do
"ご飯を炊く"
end
盛り付け = Ractor.new do |data|
Ractor.recv.join('/') + "/盛り付け"
end
カレー = Ractor.new do
野菜を切る = Ractor.new do
"野菜を切る"
<script>
function 野菜を切る() {
return new Promise(function(callback) {
callback("野菜を切る");
});
}
function じっくり炒める(data) {
return new Promise(function(callback) {
callback(data + "/じっくり炒める");
});