CliCam
20/8/2025

Yazılımcıların kullandığı araçların hemen hemen hepsinin hem komut satırı hem de grafik arayüzü bulunur. Peki neden kameralarımızın bir komut satırı arayüzü olmasın?

Bu fikir aklıma ilk geldiğinde her ne kadar verimsiz bir uygulama olacaksa da merakımı cezbetmeyi başardı. Ve bu iş için biçilmiş kaftan olduğunu düşündüğüm opencv ile çalışmaya başladım.

Öncelikle yapmamız gereken kütüphaneleri ve namespace'leri projemize dahil etmek:

#include <opencv2/opencv.hpp>

#include <iostream>

#include <windows.h>

Daha sonrasında main fonksiyonumuza geçiyoruz. İlk yapmamız gereken şey konsol içinde imleç kontrolü için Windows API ile haberleşmek:

CONSOLE_CURSOR_INFO cursorInfo;

GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursorInfo);

cursorInfo.bVisible = false;

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursorInfo);

Daha sonrasında opencv içinden kameramıza erişiyoruz:

VideoCapture cap(0);

if (!cap.isOpened())

{

cerr << "Kamera acilamadi!" << endl;

getchar();

}

Kamera görüntüsünün işlenmesini kolaylaştırmak adına gri tonlara çekiyoruz ve alanı konsol ekranına sığacak şekilde boyutlandırıyoruz:

cvtColor(frame, gray, COLOR_BGR2GRAY);

resize(gray, gray, Size(80, 40), 0, 0, INTER_LINEAR);

Artık görüntü işlemesine ve parlaklığa göre konsol ekranına ascii art basmaya geçebiliriz:

for (int y = 0; y < frame.rows; y++)

{

for (int x = 0; x < frame.cols; x++)

{

int pixel = frame.at<uchar>(y, x);

char asciiChar = ASCII_CHARS[pixel * ASCII_CHARS.length() / 256];

cout << asciiChar;

}

cout << endl;

}

Son olarak kodumuzun genel yapısı şu şekilde:




İbrahim
21.08.2025 10:07:36

Gördüğüm en güzel en başarılı projelerden biri daha iyilerinin geleceğinden şüphem yok sabırsızlıkla bekliyorum başarılar🏅



benserhat
23.08.2025 15:23:03
Teşekkürler İbo.
Nihatt
20.08.2025 18:05:47

Gayet güzel bir fikir olmuş başarılı bir çalışma



benserhat
23.08.2025 15:22:43
Teşekkürler Abi.
Taha
20.08.2025 11:46:06

Çok güzel bir yazı olmuş.



benserhat
23.08.2025 15:22:19
Teşekkürler Taha.
Buraktnq
20.08.2025 10:52:40

Ellerine fikrine sağlık. Bu tarz projeyi yapmak düşünmek nasıl başarıyorsun bilmiyorum vallaha tebrik ederim.



benserhat
23.08.2025 15:21:58
Teşekkürler Burak.
UmutGdk
20.08.2025 09:45:53

Nerden geliyor böyle projeler yapmak, gerçekten keyifli bir proje olmuş:)



benserhat
23.08.2025 15:21:35
Teşekkürler Umut.