@@ -202,6 +202,7 @@ async function detectTextGCS(bucketName, fileName) {
202202async function detectLogos ( fileName ) {
203203 // [START vision_logo_detection]
204204 const vision = require ( '@google-cloud/vision' ) ;
205+ const fs = require ( 'fs' ) ;
205206
206207 // Creates a client
207208 const client = new vision . ImageAnnotatorClient ( ) ;
@@ -211,17 +212,42 @@ async function detectLogos(fileName) {
211212 */
212213 // const fileName = 'Local image file, e.g. /path/to/image.png';
213214
215+ const imageBuffer = fs . readFileSync ( fileName ) ;
216+ const base64Image = imageBuffer . toString ( 'base64' ) ;
217+
218+ const request = {
219+ requests : [
220+ {
221+ image : {
222+ content : base64Image ,
223+ } ,
224+ features : [
225+ {
226+ type : 'LOGO_DETECTION' ,
227+ } ,
228+ ] ,
229+ } ,
230+ ] ,
231+ } ;
232+
214233 // Performs logo detection on the local file
215- const [ result ] = await client . logoDetection ( fileName ) ;
216- const logos = result . logoAnnotations ;
217- console . log ( 'Logos:' ) ;
218- logos . forEach ( logo => console . log ( logo ) ) ;
234+ const [ response ] = await client . batchAnnotateImages ( request ) ;
235+
236+ response . responses . forEach ( res => {
237+ if ( res . logoAnnotations ) {
238+ console . log ( 'Logos:' ) ;
239+ res . logoAnnotations . forEach ( logo => console . log ( logo ) ) ;
240+ }
241+
242+ if ( res . error ) {
243+ console . error ( ` - Error: ${ res . error . message } ` ) ;
244+ }
245+ } ) ;
219246 // [END vision_logo_detection]
220247}
221248
222249async function detectLogosGCS ( bucketName , fileName ) {
223250 // [START vision_logo_detection_gcs]
224- // Imports the Google Cloud client libraries
225251 const vision = require ( '@google-cloud/vision' ) ;
226252
227253 // Creates a client
@@ -233,11 +259,36 @@ async function detectLogosGCS(bucketName, fileName) {
233259 // const bucketName = 'Bucket where the file resides, e.g. my-bucket';
234260 // const fileName = 'Path to file within bucket, e.g. path/to/image.png';
235261
262+ const request = {
263+ requests : [
264+ {
265+ image : {
266+ source : {
267+ imageUri : `gs://${ bucketName } /${ fileName } ` ,
268+ } ,
269+ } ,
270+ features : [
271+ {
272+ type : 'LOGO_DETECTION' ,
273+ } ,
274+ ] ,
275+ } ,
276+ ] ,
277+ } ;
278+
236279 // Performs logo detection on the gcs file
237- const [ result ] = await client . logoDetection ( `gs://${ bucketName } /${ fileName } ` ) ;
238- const logos = result . logoAnnotations ;
239- console . log ( 'Logos:' ) ;
240- logos . forEach ( logo => console . log ( logo ) ) ;
280+ const [ response ] = await client . batchAnnotateImages ( request ) ;
281+
282+ response . responses . forEach ( res => {
283+ if ( res . logoAnnotations ) {
284+ console . log ( 'Logos:' ) ;
285+ res . logoAnnotations . forEach ( logo => console . log ( logo ) ) ;
286+ }
287+
288+ if ( res . error ) {
289+ console . error ( ` - Error: ${ res . error . message } ` ) ;
290+ }
291+ } ) ;
241292 // [END vision_logo_detection_gcs]
242293}
243294
0 commit comments