mesajı biraz daha detaylandırır mısınız? 50 satır kodla bunu yapabileceğinizi düşünüyorsanız bence bunu yapın ve r10da paylaşın.

hiçbir şey bilmiyorsak bilen insanların yol göstermesi daha iyi olur.
Sözlerimin altında yatan mesajı küçük bir kesim anlayacaktır.
İddia etmedim, ancak böyle bir iddiada bulunan kişinin yeteneklerinden şüphe duyarım. Bu, 50 satırlık bir kodla görüntü işlemesi yapmak, 50 kiloluk birinin 500 kilo kaldırmasına benzer, bu yüzden saçma. Paylaşılan videoda dikkatlice izleyin, 50 satırdan fazla kod olmadığını göreceksiniz. Bu tür bir yetenekle, kişi gerçekten güzel paralar kazanabilir. Bu video tamamen etkileşim ve abone odaklı clickbait videodur.
Kendi için yapmak istiyen arkadaşlar kodunu paylaşıyım bende yaptım:
import torch
from transformers import BlipProcessor, BlipForConditionalGeneration
import cv2
import threading
import time
import speech_recognition as sr
import func
import sys
class ImageCaptioning:
def __init__(self):
self.processor = BlipProcessor.from_pretrained("Salesforce/blip-image-captioning-large")
self.model = BlipForConditionalGeneration.from_pretrained("Salesforce/blip-image-captioning-large", torch_dtype=torch.float32).to("cpu")
self.last_frame = None
self.caption = ""
def listen_to_speech(self):
recognizer = sr.Recognizer()
while True: # Sürekli dinleme için döngü
with sr.Microphone() as source:
print("Dinleniyor...")
audio = recognizer.listen(source)
try:
text = recognizer.recognize_google(audio, language='tr-TR')
print("Algılanan: " + text)
self.handle_speech_command(text)
except sr.UnknownValueError:
print("Anlaşılamadı")
except sr.RequestError:
print("Servis hatası")
def handle_speech_command(self, command):
if "merhaba" in command.lower():
print("Merhaba, nasıl yardımcı olabilirim?")
elif "kamera durumu" in command.lower():
print("Kamera şu anda aktif.")
elif "yardım et" in command.lower():
print("Kullanabileceğiniz komutlar: merhaba, kamera durumu, yardım et, programı kapat")
elif "programı kapat" in command.lower():
print("Program kapatılıyor...")
sys.exit()
elif "chrome aç" in command.lower():
print("Chrome başlatılıyor...")
func.open_chrome()
elif "ne görüyorsun" in command.lower():
#cv2.imwrite('son_cerceve.jpg', self.last_frame)
#print("Çerçeve kaydedildi.")
func.chat_with_openai("Gördüğü Şey:"+self.caption)
else:
print("Tanınmayan komut: " + command)
def process_image(self):
while True:
if self.last_frame is not None:
inputs = self.processor(self.last_frame, return_tensors="pt").to("cpu", torch.float32)
out = self.model.generate(**inputs, max_new_tokens=50)
self.caption = self.processor.decode(out[0], skip_special_tokens=True)
print("Caption: " + self.caption)
self.last_frame = None
time.sleep(5) # Anlamlandırma sıklığını azalt
def capture_and_process_image(self):
cap = cv2.VideoCapture(0)
threading.Thread(target=self.process_image, daemon=True).start()
threading.Thread(target=self.listen_to_speech, daemon=True).start()
#Yüz tanıma ekleyelim.
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
while True:
ret, frame = cap.read()
if not ret:
break
frame = cv2.resize(frame, (640, 480))
# Yüz tanıma işlemi
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.1, 4)
# Her yüz için kırmızı bir dikdörtgen çiz
for (x, y, w, h) in faces:
cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2)
self.last_frame = frame
cv2.imshow('Camera', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
image_captioning = ImageCaptioning()
image_captioning.capture_and_process_image()Rica ederim