Yapay Zeka ile Renk tanıma
Bu uygulama TensorFlow.js ve Jimp kütüphanelerini kullanarak bir resimdeki renkleri tanımlar ve üç farklı renk kanalı olarak (kırmızı, yeşil ve mavi) görüntüler.
const tf = require('@tensorflow/tfjs');
const tfnode = require('@tensorflow/tfjs-node');
const Jimp = require('jimp');
async function main() {
// Resim dosyasını okuma
const image = await Jimp.read('path/to/image.jpg');
// Resmi tensor'a dönüştürme
const imageTensor = tfnode.node.decodeImage(image.bitmap);
// Resmi RGB'ye dönüştürme
const imageRgb = tf.image.grayscaleToRgb(imageTensor);
// Renk kanallarını alma
const redChannel = imageRgb.slice([0, 0, 0], [-1, -1, 1]);
const greenChannel = imageRgb.slice([0, 0, 1], [-1, -1, 1]);
const blueChannel = imageRgb.slice([0, 0, 2], [-1, -1, 1]);
// Renk kanallarının histogramlarını oluşturma
const redHistogram = tf.histogram({
data: redChannel,
bins: 32,
range: [0, 255]
});
const greenHistogram = tf.histogram({
data: greenChannel,
bins: 32,
range: [0, 255]
});
const blueHistogram = tf.histogram({
data: blueChannel,
bins: 32,
range: [0, 255]
});
// Histogram verilerini konsola yazdırma
console.log("Red channel histogram: ", redHistogram.dataSync());
console.log("Green channel histogram: ", greenHistogram.dataSync());
console.log("Blue channel histogram: ", blueHistogram.dataSync());
}
main();
Bu uygulama, Jimp kütüphanesi kullanarak resim dosyasını okur ve TensorFlow.js ile resmi tensor’a dönüştürür. Ardından, resmin RGB kanallarını ayrı ayrı alır ve her kanal için 32 binlik bir histogram oluşturur. Histogram verileri, her renk kanalında renklerin dağılımını gösterir. Bu veriler konsola yazdırılır.
Python
Bu uygulama, OpenCV ve NumPy kütüphanelerini kullanarak bir resimdeki renkleri tanımlar ve üç farklı renk kanalı olarak (kırmızı, yeşil ve mavi) görüntüler.
import cv2
import numpy as np
# Resim dosyasını okuma
image = cv2.imread('path/to/image.jpg')
# Renk kanallarını alma
red_channel = image[:,:,2]
green_channel = image[:,:,1]
blue_channel = image[:,:,0]
# Renk kanallarının histogramlarını oluşturma
red_hist = cv2.calcHist([red_channel], [0], None, [256], [0,256])
green_hist = cv2.calcHist([green_channel], [0], None, [256], [0,256])
blue_hist = cv2.calcHist([blue_channel], [0], None, [256], [0,256])
# Histogram verilerini yazdırma
print("Red channel histogram: ", red_hist)
print("Green channel histogram: ", green_hist)
print("Blue channel histogram: ", blue_hist)
Bu uygulama OpenCV kütüphanesi kullanarak resim dosyasını okur ve resmin RGB kanallarını ayrı ayrı alır. Her kanal için 256 binlik bir histogram oluşturur. Histogram verileri, her renk kanalında renklerin dağılımını gösterir. Bu veriler konsola yazdırılır.