* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Aprile 27, 2024, 01:57:37 pm

Inserisci il nome utente, la password e la durata della sessione.

168 Visitatori, 0 Utenti

Autore Topic: Copilot - La nuova chat AI di Microsoft  (Letto 578 volte)

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Copilot - La nuova chat AI di Microsoft
« il: Ottobre 12, 2023, 10:55:16 am »
Ho provato a fare qualche "chiacchera" con Copilot. Copilot è la nuova implementazione AI di Microsoft in concorrenza a Bard e ChatGPT.

Bard l'ho usato tempo fà per test ma non mi è parso così brillante, Copilot invece mi ha un pò sorpreso positivamente.
Intanto le risposte che dà sono prima di tutto spiegate in forma testuale con una buona dialettica per essere una soluzione "generalista". Poi fà anche gli esempi commentati, il tutto in un Italiano discorsivo e apparentemente corretto.
Non ho verificato il codice.

Questa un riporto di una "chat" (non ho riportato la formattazione dei paragrafi):

Domanda:
Citazione
Istogramma gaussiano su immagine con linguaggio Delphi

Risposta:
Citazione
Un istogramma gaussiano è una rappresentazione grafica della distribuzione dei livelli di grigio di un’immagine, che segue una curva a forma di campana. Per creare un istogramma gaussiano su un’immagine con il linguaggio Delphi, si possono seguire i seguenti passi:

Caricare l’immagine da analizzare in una variabile di tipo TBitmap.
Creare un array di 256 elementi di tipo Integer per memorizzare le frequenze dei livelli di grigio.
Inizializzare tutti gli elementi dell’array a zero.
Scorrere tutti i pixel dell’immagine e incrementare il valore dell’elemento corrispondente al livello di grigio del pixel.
Creare un altro TBitmap per disegnare l’istogramma.
Calcolare il valore massimo dell’array delle frequenze e il fattore di scala per adattare l’istogramma alla dimensione del bitmap.
Scorrere tutti gli elementi dell’array e disegnare una linea verticale sul bitmap con altezza proporzionale alla frequenza e colore grigio.
Visualizzare il bitmap con l’istogramma.

Citazione
Un esempio di codice Delphi che implementa questi passi è il seguente:
Codice: [Seleziona]
uses
  Graphics;

const
  N = 256; // numero dei livelli di grigio

var
  Image, Histogram: TBitmap; // bitmap per l'immagine e l'istogramma
  Freq: array[0..N-1] of Integer; // array delle frequenze
  i, j, k, max, h: Integer; // variabili ausiliarie
  c: TColor; // variabile per il colore dei pixel
  scale: Double; // fattore di scala

begin
  // caricare l'immagine da analizzare
  Image := TBitmap.Create;
  Image.LoadFromFile('image.bmp');

  // inizializzare l'array delle frequenze a zero
  for i := 0 to N-1 do
    Freq[i] := 0;

  // scorrere tutti i pixel dell'immagine e incrementare le frequenze
  for i := 0 to Image.Width-1 do
    for j := 0 to Image.Height-1 do
    begin
      c := Image.Canvas.Pixels[i,j]; // leggere il colore del pixel
      k := (c and $FF + (c shr 8) and $FF + (c shr 16) and $FF) div 3; // calcolare il livello di grigio medio
      Freq[k] := Freq[k] + 1; // incrementare la frequenza corrispondente
    end;

  // creare il bitmap per l'istogramma
  Histogram := TBitmap.Create;
  Histogram.Width := N; // larghezza uguale al numero dei livelli di grigio
  Histogram.Height := Image.Height div 2; // altezza pari alla metà dell'altezza dell'immagine

  // calcolare il valore massimo delle frequenze e il fattore di scala
  max := 0;
  for i := 0 to N-1 do
    if Freq[i] > max then max := Freq[i];
  scale := Histogram.Height / max;

  // scorrere tutti gli elementi dell'array e disegnare le linee sull'istogramma
  for i := 0 to N-1 do
  begin
    h := Round(Freq[i] * scale); // calcolare l'altezza della linea
    c := RGB(i,i,i); // calcolare il colore grigio corrispondente al livello
    Histogram.Canvas.Pen.Color := c; // impostare il colore della penna
    Histogram.Canvas.MoveTo(i,Histogram.Height); // spostare la penna al punto in basso a sinistra della linea
    Histogram.Canvas.LineTo(i,Histogram.Height-h); // tracciare la linea verticale verso l'alto
  end;

  // visualizzare l'istogramma
  Histogram.SaveToFile('histogram.bmp'); // salvare il bitmap su file (opzionale)
end;

E soprattutto riporta i riferimenti, le fonti e eventuali esempi esecutivi (vedi immagine allegata).

In pratica si ha tutto ciò che si vuole sull'oggetto della domanda.

Voi avete provato i vari AI ? Cosa ve ne sembra ?
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

bonmario

  • Hero Member
  • *****
  • Post: 1302
  • Karma: +10/-1
Re:Copilot - La nuova chat AI di Microsoft
« Risposta #1 il: Ottobre 12, 2023, 11:11:47 am »
Io li uso quando sto facendo modifiche ai files .bat, perché li modifico talmente di rado, che spesso mi dimentico la sintassi !!!
Io ho provato un paio di volte Bard, ma tutte e 2 le volte mi ha dato risposte che avevano poco a che fare con la mia domanda.
Ho poi provato quello integrato nel browser Edge, che mi ha stupito: risposte sensate, con codice commentato e spiegazioni congruenti, col codice funzionante. In tutto l'ho usato 4 o 5 volte, ma non mi ha mai deluso.

Ciao, Mario

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1266
  • Karma: +43/-0
  • Prima ascoltare, poi decidere
Re:Copilot - La nuova chat AI di Microsoft
« Risposta #2 il: Ottobre 13, 2023, 10:48:44 am »
Con Edge è disponibile da un pò di tempo appunto Copilot direttamente (ufficialmente però non in Italia).

Se volete provare Copilot (anche dall'Italia) direttamente digitate la seguente stringa (su qualsiasi browser o come link):

Citazione
microsoft-edge:///?ux=copilot&tcp=1&source=taskbar

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

 

Recenti

How To

Utenti
Stats
  • Post in totale: 18776
  • Topic in totale: 2234
  • Online Today: 327
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 168
Total: 168

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.