Home / Yapay Zeka / Yapay Zeka ile Renk tanıma

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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir