static void Main(string[] args) { // creamos un objeto PictureProvider y obtenemos una imagen PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture("C:/Users/FIT/programacion2/ejercicio_en_clase/ComposicionYDelegacion/PII_Pipes_Filters-master/gato.png"); // creamos un pipeNull IPipe pipenull = new PipeNull(); // creamos instancias de todos los filtros que nos interecen FilterSave filtersave = new FilterSave("../../gato2.png"); FilterTwitter filtertwitter = new FilterTwitter(filtersave.path); FilterNegative filternegative = new FilterNegative(); FilterGreyscale filtergreyscale = new FilterGreyscale(); ConditionalFilter conditionalfilter = new ConditionalFilter(filtersave.path); FilterBlurConvolution filterblurconvolution = new FilterBlurConvolution(); // creamos instancias de todos los pipeSerial que vayamos a utilizar IPipe pipeserial7 = new PipeSerial(filtertwitter, pipenull); IPipe pipeserial6 = new PipeSerial(filtersave, pipeserial7); // en este caso se sobrescribe la imagen guardada ya que estoy usando el mismo filtersave con el mismo path IPipe pipeserial5 = new PipeSerial(filterblurconvolution, pipeserial6); IPipe pipeserial4 = new PipeSerial(filtertwitter, pipenull); IPipe pipefork = new PipeFork(conditionalfilter, pipeserial4, pipeserial5); IPipe pipeserial3 = new PipeSerial(filtersave, pipefork); IPipe pipeserial2 = new PipeSerial(filternegative, pipeserial3); IPipe pipeserial = new PipeSerial(filtergreyscale, pipeserial2); // enviamos la imagen al primer pipeSerial pipeserial.Send(pic); }
static void Main(string[] args) { PictureProvider provider = new PictureProvider(); IPicture picture = provider.GetPicture("../../assets/yacht.jpg"); IPipe pipeNull = new PipeNull(); IFilter filterSavePicture = new FilterSavePicture(); IFilter filterPublish = new FilterPublishPicture(); IPipe thirdPipeSerial = new PipeSerial(filterPublish, pipeNull); IPipe secondPipeSerialSave = new PipeSerial(filterSavePicture, thirdPipeSerial); IFilter filterNegative = new FilterNegative(); IPipe secondPipeSerial = new PipeSerial(filterNegative, secondPipeSerialSave); IPipe firstPipeSerialSave = new PipeSerial(filterSavePicture, secondPipeSerial); IFilter filterGreyScale = new FilterGreyscale(); IPipe pipeConditional = new PipeConditionalBifurcation(thirdPipeSerial, secondPipeSerial); IPipe pipeSerial = new PipeSerial(filterGreyScale, firstPipeSerialSave); IPicture newPicture = pipeSerial.Send(picture); }
static void Main(string[] args) { PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture("../../Sequence-1.png"); FilterGreyscale greyscale = new FilterGreyscale(); FilterNegative filternegative = new FilterNegative(); PipeNull pipeNull = new PipeNull(); FilterSave saveFilter = new FilterSave(); TwitterSave twitterSave = new TwitterSave(); PipeSerial pipeserial3 = new PipeSerial(saveFilter, pipeNull); PipeSerial pipeserial4 = new PipeSerial(twitterSave, pipeNull); PipeFork pipeFork4 = new PipeFork(pipeNull, pipeserial4); PipeFork pipeFork3 = new PipeFork(pipeNull, pipeserial3); PipeSerial pipeserial2 = new PipeSerial(filternegative, pipeFork3); PipeFork pipeFork5 = new PipeFork(pipeserial2, pipeserial4); PipeFork pipeFork2 = new PipeFork(pipeFork5, pipeserial3); PipeSerial pipeSerial = new PipeSerial(greyscale, pipeFork2); PipeFork pipeFork1 = new PipeFork(pipeSerial, pipeserial3); pipeFork1.Send(pic); }
static void Main(string[] args) { PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture("matrix.png"); FilterGreyscale filterGreyscale = new FilterGreyscale(); FilterNegative filterNegative = new FilterNegative(); FilterPostTwitter filterPostTwitter = new FilterPostTwitter(); PipeNull pipeNull = new PipeNull(); PipeConditional pipeSerialConditional = new PipeConditional(filterPostTwitter, filterNegative, pipeNull); pic = pipeSerialConditional.Send(pic); Persist(pic, "imagenFiltrada.jpg"); }
static void Main(string[] args) { PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture("..\\..\\ImagenPruebas.jpg"); IFilter filter = new FilterGreyscale(); IFilter filterDos = new FilterNegative(); IPipe isnull = new PipeNull(); IPipe serialDos = new PipeSerial(filterDos, isnull); IPipe serial = new PipeSerial(filter, serialDos); IPicture pic2 = serial.Send(pic); IPicture pic3 = serialDos.Send(pic2); p.SavePicture(pic2, "..\\..\\ImagenPruebas1.jpg"); p.SavePicture(pic3, "..\\..\\ImagenPruebas2.jpg"); }
static void Main(string[] args) { PictureProvider pictureProvider = new PictureProvider(); IPicture picOrig = pictureProvider.GetPicture("jac.jpg"); FilterNegative negative = new FilterNegative(); //https://twitter.com/POOUCU?lang=en&lang=en FilterTwitterPublish twitterPublish = new FilterTwitterPublish(); FilterCognitive faceRecog = new FilterCognitive(); IConvolutionMatrix matrix = new BlurConvolutionMatrix(); FilterConvolution blurConvo = new FilterConvolution(matrix); PipeNull pipeEnd = new PipeNull(); //PipeSerial pipe32 = new PipeSerial(negative,pipeEnd); PipeSerial pipe22 = new PipeSerial(negative, pipeEnd); PipeSerial pipe21 = new PipeSerial(twitterPublish, pipeEnd); PipeConditional pipe1 = new PipeConditional(faceRecog, pipe21, pipe22); pictureProvider.SavePicture(pipe1.Send(picOrig), "jacFiltrado.jpg"); }
static void Main(string[] args) { PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture(@"./../../images/bill.jpg"); var blur = new FilterBlurConvolution(); var grey = new FilterGreyscale(); var negative = new FilterNegative(); var invento = new FilterInvento(); var saving = FilterSave.Instance; var pipe1 = new PipeSerial(saving, new PipeNull()); var pipe2 = new PipeSerial(grey, pipe1); var twitt = new PipeSerial(new FilterTwitter(), pipe2); var pipe3 = new PipeSerial(saving, twitt); var pipe4 = new PipeSerial(negative, pipe3); pipe4.Send(pic); // var fork = new PipeFork(prueba2, prueba1); }
static void Main(string[] args) { PictureProvider imgProvider = new PictureProvider(); IPicture pictureProv = imgProvider.GetPicture("Vikings.jpg"); IConvolution matrix = new BlurConvolutionMatriz(); FilterConvolution blurFilter = new FilterConvolution(matrix); FilterNegative negativeFilter = new FilterNegative(); FilterTwitter twitterFilter = new FilterTwitter(); FilterCognitive faceRecognition = new FilterCognitive(); PipeNull pipeEnd = new PipeNull(); PipeSerial pipeTwitter = new PipeSerial(twitterFilter, pipeEnd); PipeSerial pipeBlur = new PipeSerial(blurFilter, pipeEnd); PipeSerial pipeNegative = new PipeSerial(negativeFilter, pipeEnd); PipeConditional pipeFace = new PipeConditional(faceRecognition, pipeTwitter, pipeNegative); imgProvider.SavePicture(pipeFace.Send(pictureProv), "Vikings.jpg"); }
static void Main(string[] args) { // Se obtiene la imagen. PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture(@"download.jpg"); // Se crean los filtros que se van a utilizar. FilterGreyscale filterGreyscale = new FilterGreyscale(); FilterNegative filterNegative = new FilterNegative(); FilterSaveImage filterSaveImage = new FilterSaveImage(); FilterTwitterApi filterTwitterApi = new FilterTwitterApi(); FilterHasFace filterHasFace = new FilterHasFace(); // Parte 1 /* * PipeNull pipeNull = new PipeNull(); * PipeSerial pipeFilterNegative = new PipeSerial(filterNegative, pipeNull); * PipeSerial pipeFilterGreyScale = new PipeSerial(filterGreyscale, pipeFilterNegative); * pipeFilterGreyScale.Send(pic);*/ // Parte 2 /* * PipeNull pipeNull = new PipeNull(); * PipeSerial pipeFilterSaveImageTwo = new PipeSerial(filterSaveImage, pipeNull); * PipeSerial pipeFilterNegative = new PipeSerial(filterNegative, pipeFilterSaveImageTwo); * PipeSerial pipeFilterSaveImageOne = new PipeSerial(filterSaveImage, pipeFilterNegative); * PipeSerial pipeFilterGreyScale = new PipeSerial(filterGreyscale, pipeFilterSaveImageOne); * pipeFilterGreyScale.Send(pic);*/ // Parte 3 /* * PipeNull pipeNull = new PipeNull(); * PipeSerial pipeTwitterApiTwo = new PipeSerial(filterTwitterApi, pipeNull); * PipeSerial pipeFilterSaveImageTwo = new PipeSerial(filterSaveImage, pipeTwitterApiTwo); * PipeSerial pipeFilterNegative = new PipeSerial(filterNegative, pipeFilterSaveImageTwo); * PipeSerial pipeTwitterApi = new PipeSerial(filterTwitterApi, pipeFilterNegative); * PipeSerial pipeFilterSaveImageOne = new PipeSerial(filterSaveImage, pipeTwitterApi); * PipeSerial pipeFilterGreyScale = new PipeSerial(filterGreyscale, pipeFilterSaveImageOne); * pipeFilterGreyScale.Send(pic);*/ // Parte 4. /* * PipeNull pipeNull = new PipeNull(); * PipeSerial pipeFilterSaveImageTwo = new PipeSerial(filterSaveImage, pipeNull); * PipeSerial pipeFilterNegative = new PipeSerial(filterNegative, pipeFilterSaveImageTwo); * PipeSerial pipeTwitterApi = new PipeSerial(filterTwitterApi, pipeNull); * PipeFork pipeConditionalFork = new PipeFork(pipeFilterNegative, pipeTwitterApi); * PipeSerial pipeFilterHasFace = new PipeSerial(filterHasFace, pipeConditionalFork); * PipeSerial pipeFilterSaveImageOne = new PipeSerial(filterSaveImage, pipeFilterHasFace); * PipeSerial pipeFilterGreyScale = new PipeSerial(filterGreyscale, pipeFilterSaveImageOne); * pipeFilterGreyScale.Send(pic);*/ pic = p.GetPicture(@"Imagen2.jpg"); //Filtro FilterBlackAndWhite PipeNull pipeNull = new PipeNull(); FilterSaveImage2 filterSaveImage2 = new FilterSaveImage2(); PipeSerial pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterBlackAndWhite filterBAndW = new FilterBlackAndWhite(20); PipeSerial pipeFilterBAndW = new PipeSerial(filterBAndW, pipeFilterSaveImage2); pipeFilterBAndW.Send(pic.Clone()); //Filtro FilterClearOut pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterClearOut filterClearOut = new FilterClearOut(); PipeSerial pipeFilterClearOut = new PipeSerial(filterClearOut, pipeFilterSaveImage2); pipeFilterClearOut.Send(pic.Clone()); //Filtro FilterColoredLines pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterColoredLines filterColoredLines = new FilterColoredLines(); PipeSerial pipeFilterColoredLines = new PipeSerial(filterColoredLines, pipeFilterSaveImage2); pipeFilterColoredLines.Send(pic.Clone()); //Filtro FilterDarken pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterDarken filterDarken = new FilterDarken(); PipeSerial pipeFilterDarken = new PipeSerial(filterDarken, pipeFilterSaveImage2); pipeFilterDarken.Send(pic.Clone()); //Filtro FilterNeon pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterNeon filterNeon = new FilterNeon(); PipeSerial pipeFilterNeon = new PipeSerial(filterNeon, pipeFilterSaveImage2); pipeFilterNeon.Send(pic.Clone()); //Filtro FilterPencil pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterPencil filterPencil = new FilterPencil(); PipeSerial pipeFilterPencil = new PipeSerial(filterPencil, pipeFilterSaveImage2); pipeFilterPencil.Send(pic.Clone()); //Filtro FilterRelief pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterRelief filterRelief = new FilterRelief(); PipeSerial pipeFilterRelief = new PipeSerial(filterRelief, pipeFilterSaveImage2); pipeFilterRelief.Send(pic.Clone()); //Filtro FilterGreyScale pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterGreyscale filterGreyScale = new FilterGreyscale(); PipeSerial pipeFilterGreyscale = new PipeSerial(filterGreyScale, pipeFilterSaveImage2); pipeFilterGreyscale.Send(pic.Clone()); //Filtro BlurConvolution pipeNull = new PipeNull(); pipeFilterSaveImage2 = new PipeSerial(filterSaveImage2, pipeNull); FilterBlurConvolution filterBlurConvolution = new FilterBlurConvolution(); PipeSerial pipeFilterBlurConvolution = new PipeSerial(filterBlurConvolution, pipeFilterSaveImage2); pipeFilterBlurConvolution.Send(pic.Clone()); }
static void Main(string[] args) { PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture("../faceImage.jpg"); IFilter filterGreyscale = new FilterGreyscale(); IFilter filterNegative = new FilterNegative(); IFilter filterProvider = new FilterProvider(); IFilter filterTwiter = new FilterTwitter(); IFilter filterConditional = new FilterConditional(); IFilter filterBlurConvolution = new FilterBlurConvolution(); IFilter filterSharpenConvolution = new FilterSharpenConvolution(); //EJERCICIO 1 IPipe pipeNull_ej1 = new PipeNull(); IPipe pipeSerial2_ej1 = new PipeSerial(filterNegative, pipeNull_ej1); IPipe pipeSerial1_ej1 = new PipeSerial(filterGreyscale, pipeSerial2_ej1); pipeSerial1_ej1.Send(pic); //EJERCICIO 2 IPipe pipeNull_ej2 = new PipeNull(); IPipe pipeProvider2_ej2 = new PipeSerial(filterProvider, pipeNull_ej2); IPipe pipeSerial2_ej2 = new PipeSerial(filterNegative, pipeProvider2_ej2); IPipe pipeProvider1_ej2 = new PipeSerial(filterProvider, pipeSerial2_ej2); IPipe pipeSerial1_ej2 = new PipeSerial(filterGreyscale, pipeProvider1_ej2); pipeSerial1_ej2.Send(pic); //EJERCICIO 3 IPipe pipeNull_ej3 = new PipeNull(); IPipe pipeTwiter2_ej3 = new PipeSerial(filterTwiter, pipeNull_ej3); IPipe pipeProvider2_ej3 = new PipeSerial(filterProvider, pipeTwiter2_ej3); IPipe pipeSerial2_ej3 = new PipeSerial(filterNegative, pipeProvider2_ej3); IPipe pipeTwiter1_ej3 = new PipeSerial(filterTwiter, pipeSerial2_ej3); IPipe pipeProvider1_ej3 = new PipeSerial(filterProvider, pipeTwiter1_ej3); IPipe pipeSerial1_ej3 = new PipeSerial(filterGreyscale, pipeProvider1_ej3); pipeSerial1_ej3.Send(pic); //EJERCICIO 4 IPipe pipeNull_ej4 = new PipeNull(); IPipe pipeProvider2_ej4 = new PipeSerial(filterProvider, pipeNull_ej4); IPipe pipeSerial2_ej4 = new PipeSerial(filterNegative, pipeProvider2_ej4); IPipe pipeTwiter1_ej4 = new PipeSerial(filterTwiter, pipeNull_ej4); IPipe pipeConditionalFork1_ej4 = new PipeConditionalFork(filterConditional, pipeTwiter1_ej4, pipeSerial2_ej4); IPipe pipeProvider1_ej4 = new PipeSerial(filterProvider, pipeConditionalFork1_ej4); IPipe pipeSerial1_ej4 = new PipeSerial(filterGreyscale, pipeProvider1_ej4); pipeSerial1_ej4.Send(pic); //EJERCICIO BONUS IPipe pipeNull_ejB = new PipeNull(); IPipe pipeProvider2_ejB = new PipeSerial(filterProvider, pipeNull_ejB); IPipe pipeSerial2_ejB = new PipeSerial(filterSharpenConvolution, pipeProvider2_ejB); IPipe pipeProvider1_ejB = new PipeSerial(filterProvider, pipeSerial2_ejB); IPipe pipeSerial1_ejB = new PipeSerial(filterBlurConvolution, pipeProvider1_ejB); pipeSerial1_ejB.Send(pic); }
static void Main(string[] args) { string Shrek = @"..\..\SmilingShrek.jpg"; string NewShrek = @"..\..\" + Guid.NewGuid().ToString() + ".jpg"; string NewShrek2 = @"..\..\" + Guid.NewGuid().ToString() + ".jpg"; string NewShrek3 = @"..\..\" + Guid.NewGuid().ToString() + ".jpg"; string NewShrek4 = @"..\..\" + Guid.NewGuid().ToString() + ".jpg"; PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture(Shrek); // Conjunto de filtros a utilizar en las 5 partes IFilter GrayFilter = new FilterGreyscale(); IFilter NegativeFilter = new FilterNegative(); IFilter Save = new FilterSaver(NewShrek); IFilter Tweet1 = new FilterTwitterPublish("Shrek is love, Shrek is life.", NewShrek); IFilter Tweet2 = new FilterTwitterPublish("Shrek is love, Shrek is life.", NewShrek2); IFilter Tweet3 = new FilterTwitterPublish("Shrek is love, Shrek is life.", NewShrek3); IFilter Tweet4 = new FilterTwitterPublish("Shrek is love, Shrek is life.", NewShrek4); IConditionFilter FaceCondition = new FilterSearchFace(Shrek); FilterBlurConvolution LightBlur = new FilterBlurConvolution(); //PipeNull IPipe NullPipe = new PipeNull(); // Parte1 PipeSerial pipe2 = new PipeSerial(NegativeFilter, NullPipe); IPipe pipe1 = new PipeSerial(GrayFilter, pipe2); pipe1.Send(pic); // Parte 2 (guardar una copia de la imagen cada vez que se le aplica un filtro) IPipe FourthPipe2 = new PipeSerial(Save, NullPipe); IPipe ThirdPipe2 = new PipeSerial(NegativeFilter, FourthPipe2); IPipe SecondPipe2 = new PipeSerial(Save, ThirdPipe2); IPipe InitialPipe2 = new PipeSerial(GrayFilter, SecondPipe2); InitialPipe2.Send(pic); // Parte 3 IPipe FifthPipe3 = new PipeSerial(Tweet2, NullPipe); IPipe FourthPipe3 = new PipeSerial(Save, FifthPipe3); IPipe ThirdPipe3 = new PipeSerial(NegativeFilter, FourthPipe3); IPipe SecondPipe3 = new PipeSerial(Save, ThirdPipe3); IPipe InitialPipe3 = new PipeSerial(GrayFilter, SecondPipe3); InitialPipe3.Send(pic); // Parte 4 IPipe SerialTweet4 = new PipeSerial(Tweet3, NullPipe); IPipe SerialSave = new PipeSerial(Save, NullPipe); IPipe PipeFork4 = new PipeFork(SerialTweet4, SerialSave, FaceCondition.condition); IPipe InitialPipe4 = new PipeSerial(GrayFilter, PipeFork4); InitialPipe4.Send(pic); // Parte 5 IPipe ThirdPipe5 = new PipeSerial(Tweet4, NullPipe); IPipe SecondPipe5 = new PipeSerial(Save, ThirdPipe5); IPipe InitialPipe5 = new PipeSerial(LightBlur, SecondPipe5); InitialPipe5.Send(pic); }
static void Main(string[] args) { IFilter Greyscale = new FilterGreyscale(); IFilter Negative = new FilterNegative(); IFilter Twitter = new FilterTwitter(); IFilter Save = new FilterSave(); IFilter Sharpen = new FilterSharpenConvolution(); IFilterBool HasFace = new FilterFace(); PictureProvider p = new PictureProvider(); IPicture pic = p.GetPicture("..\\Images\\image.jpg"); /// <summary> /// Las clases Pipe que aplican algún filtro a la imagen delegan la responsabilidad de modificar /// la imagen a la clase Filter que la compone. /// </summary> /// <returns></returns> #region Ejercicio 1 IPipe Pipe1_3 = new PipeNull(); IPipe Pipe1_2 = new PipeSerial(Negative, Pipe1_3); IPipe Pipe1_1 = new PipeSerial(Greyscale, Pipe1_2); Pipe1_1.Send(pic); #endregion #region Ejercicio 2 IPipe Pipe2_5 = new PipeNull(); IPipe Pipe2_4 = new PipeSerial(Save, Pipe2_5); IPipe Pipe2_3 = new PipeSerial(Negative, Pipe2_4); IPipe Pipe2_2 = new PipeSerial(Save, Pipe2_3); IPipe Pipe2_1 = new PipeSerial(Greyscale, Pipe2_2); Pipe2_1.Send(pic); #endregion #region Ejercicio 3 IPipe Pipe3_5 = new PipeNull(); IPipe Pipe3_4 = new PipeSerial(Twitter, Pipe2_5); IPipe Pipe3_3 = new PipeSerial(Negative, Pipe2_4); IPipe Pipe3_2 = new PipeSerial(Twitter, Pipe2_3); IPipe Pipe3_1 = new PipeSerial(Greyscale, Pipe2_2); Pipe3_1.Send(pic); #endregion #region Ejercicio 4 IPipe Pipe4_5 = new PipeNull(); IPipe Pipe4_4 = new PipeSerial(Negative, Pipe4_5); IPipe Pipe4_3 = new PipeSerial(Twitter, Pipe4_5); IPipe Pipe4_2 = new PipeConditionalFork(Pipe4_3, Pipe4_4, HasFace); IPipe Pipe4_1 = new PipeSerial(Greyscale, Pipe4_2); Pipe4_1.Send(pic); #endregion #region Ejercicio Bonus IPipe PipeBonus_3 = new PipeNull(); IPipe PipeBonus_2 = new PipeSerial(Save, PipeBonus_3); IPipe PipeBonus_1 = new PipeSerial(Sharpen, PipeBonus_2); PipeBonus_1.Send(pic); #endregion }