Estoy exportando una imagen en Matlab utilizando el formato eps, pero suaviza la imagen. Matlab no se desenfoque la imagen el uso de otros formatos como png. Me gustaría saber cómo exportar una no-imagen borrosa con formato eps. Aquí la imagen resultante es el uso de png:
Cómo exportar no borrosas imágenes eps?

Y aquí la imagen resultante es el uso de eps:
Cómo exportar no borrosas imágenes eps?

OriginalEl autor Gorayni | 2011-07-07

10 Comentarios

  1. 11

    ACTUALIZACIÓN:

    El problema es reproducible en un Mac, y el problema es con la eps representador en lugar de MATLAB. Por ejemplo, el ahorro de imagesc(rand(20)) y visualización con vista previa y GSview resultados en las siguientes:

    Vista previa de captura de pantalla

    Cómo exportar no borrosas imágenes eps?

    GSview captura de pantalla

    Cómo exportar no borrosas imágenes eps?

    Claramente, la información no se pierda. No se trata sólo de interpretar/leer correctamente por algunas EPS espectadores. La solución es simple: el uso de GSview para ver su eps imágenes. Usted puede descargar de aquí

    Macs especialmente, si su aplicación final es de látex/pdflatex, usted tendrá que establezca explícitamente el uso de la SG/GSview, porque de lo contrario, se usará el Cuarzo motor, que se incluye en el sistema operativo.


    RESPUESTA ANTERIOR:

    Soy incapaz de reproducir el comportamiento de su descritos. Aquí está el código que he usado, probado mediante R2010b en WinXP 32 bits:

    M = fspecial('gaussian',[20 20],5);
    imagesc(M)
    print('-dpng','a.png')
    print('-depsc2','b.eps')

    una.png

    Cómo exportar no borrosas imágenes eps?

    b.eps

    Cómo exportar no borrosas imágenes eps?

    Quizás este es un problema con su EPS visor de…

    gracias @yoda para la actualización, el problema está resuelto!
    Gran respuesta, pero por favor puede dilucidar cómo explicitly set it to use GS/GSview para LaTeX? He intentado buscar en google, pero no encuentro una forma de hacerlo. Gracias!
    Yo soy todo un usuario de Windows, el Mac parte de la respuesta fue editado por yoda en el tiempo (que ha cambiado desde entonces cuenta de r.m. si no me equivoco)… supongo que lo que él quiso decir fue asociar a PDF y EPS a abrir los archivos con GSView por defecto en lugar del visor predeterminado en OSX (que al parecer hace algún tipo de anti-aliasing que explica las borrosas imágenes de aspecto). A diferencia de otros OSX aplicaciones (vista previa, Keynote, ..), GSView parece que tiene su propio motor de renderizado y al parecer no utiliza el proporcionado por el sistema (Cuarzo).
    la verdad es que estoy en Windows donde puedo usar cualquiera de GSView, SumatraPDF o Evidencian para abrir archivos PostScript (que también se encargan de PDF). Ninguno de ellos muestran ninguna visión borrosa.. tal vez usted puede instalar Evidencian en OSX (creo que es la disposición tanto de homebrew y fink). por cierto el mac parte de la respuesta es no a mí 🙂
    lo has probado la versión para mac de GSView como lo sugirió (utiliza ghostscript como backend)?

    OriginalEl autor Amro

  2. 5

    no estoy seguro de por qué funciona, pero puede intentar lo siguiente:

    eps2eps oldfile newfile

    hace el truco para mí (en mac os)

    Para mí funciona así, en Mac OS X. (Todos los otros enfoques que se produjo un error).
    ¿Cuál es la versión de tu psutils? Aquí un informe que no funciona con 1.23 stackoverflow.com/a/35793889/54964

    OriginalEl autor avigoz

  3. 4

    Al principio pensé que estaba haciendo algo incorrecto, pero entonces me acordé de que este era un tema que preocupaba el infierno fuera de mí hace un año. Yo no podía venir para arriba con una manera de «arreglar» este comportamiento y por lo que he investigado, esto es probablemente un error y varios otros han tenido este problema y no se conoce la solución. Por supuesto, yo podría estar equivocado acerca de la última parte y no podría ser de soluciones en el mercado que han salido desde que fui por ellos.

    Cualquier manera, mi solución a este problema fue usar pcolor con shading flat en lugar de imagesc. Al exportar a un eps formato se conserva la imagen correctamente. Ejemplo:

    pcolor(rand(20));
    shading flat
    print('-depsc','figure.eps')

    Cómo exportar no borrosas imágenes eps?

    NOTA: Que podría la aparición de la fina, débil líneas blancas a lo largo de la anti-diagonales de cada cuadrado pequeño (depende de la SO & visor). Estos son los bordes de los gráficos primitivos que se utilizan para representar la imagen. Sin embargo, este es no un defecto en MATLAB de la exportación, sino más bien un fallo en la representación en su EPS/PDF viewer. Por ejemplo, con la configuración predeterminada en la vista previa en mi mac, estas líneas se muestran, mientras que con el valor predeterminado en Adobe Reader 9.4, no aparecen.

    Este funciona a la perfección! No tenues líneas blancas aparecen cuando se utiliza el Látex del epstopdf de conversión. Muchas gracias!

    OriginalEl autor abcd

  4. 2

    Si alguien sigue interesado en una solución: Abra el .eps-archivo con un editor de textos y la búsqueda para «interpolar». Usted probablemente encontrará «/Interpolar verdadero def» dos o tres veces. Reemplazar «true» por «false» y ser feliz 🙂

    Hace este trabajo? Pensé pdfkit en Mac no respetar la Interpolar opción? También, en mi matlab genera EPS no me parece que la interpolación de la línea. Puede dar algunos detalles acerca de dónde debe ser insertado?
    No se encontró ninguna Interpolar en mi eps
    /Interpolate true es PDF no EPS.

    OriginalEl autor Tim

  5. 1

    Una nota con respecto a Yoda de la respuesta: en la vista previa en Mac OS X, puede hacer que las blancas y finas líneas en diagonal a través de cada una de las plazas desaparecer desmarcando «Anti-alias de texto y pantalla de arte». Por supuesto, la desventaja es que cualquier texto (por ejemplo, la figura de los ejes, etc) no es anti-alias. Por desgracia, quitando que no tiene ningún efecto sobre la visión borrosa si usted está usando imagesc.

    Otra nota es que si utiliza la vista previa para hacer un pdf a partir de su eps, el pdf resultante todavía se muestra correctamente (no borrosa) cuando se abre en Acrobat.

    Muy interesante ¡aviso! ¿Cómo se puede desmarcar Anti-alias de texto y pantalla de arte en la vista previa de la Configuración? Yo no lo encuentro en El Capitan. ¿Tienes alguna imagen de lo que el blanco de líneas diagonales parecen. Estoy muy interesado en ver su apariencia. He abierto un nuevo hilo acerca de su reclamo aquí apple.stackexchange.com/q/231745/15504

    OriginalEl autor carmel

  6. 1

    He sido durante mucho tiempo luchando con este problema. Hasta ahora, GSView es el único visor he encontrado que muestra la eps cifras producidas por Matlab (R2015b) correctamente. eps2eps no me funciona (psutils 1.23).
    El siguiente eventualmente trabajó para mí:

    1. De exportación de la figura a pdf, siguiendo las instrucciones aquí
    2. pdf2ps archivo.archivo pdf.eps
    Por favor, no utilice saveas. Es muy buggy en Matlab 2016a. El comando export_fig es mucho más robusta mathworks.com/matlabcentral/fileexchange/23629-export-fig

    OriginalEl autor Johannes

  7. 0

    Acabo de escribir esta simple gota en el reemplazo para imagesc. No es compatible con todos, pero la mayoría de las características básicas, pero sigo teniendo la esperanza de ayuda.

    function h = imagesc4pdf(C)
    
    [ny nx] = size(C);
    
    px = bsxfun(@plus, [-0.5; 0.5; 0.5; -0.5], reshape(1:nx, [1 1 nx]));
    py = bsxfun(@plus, [-0.5; -0.5; 0.5; 0.5], 1:ny);
    
    n = numel(C);
    px = reshape(repmat(px, [1 ny 1]), 4, n);
    py = reshape(repmat(py, [1 1 nx]), 4, n);
    
    h = patch(px, py, reshape(C,1,n), 'linestyle', 'none');
    
    xlim([.5 nx+.5]);
    ylim([.5 ny+.5]);
    set(gca, 'ydir', 'reverse');
    Puede usted por favor describa lo que hace el código? Ejemplo de salida también sería genial.

    OriginalEl autor marton78

  8. 0

    Aplicar opengl representador de la figura

    figure(gcf);
    set(gcf,'renderer','opengl');
    Usted debe describir por qué esto funciona. O lo que todo esto significa.
    Esto sólo funciona porque al cambiar el procesador a opengl se guarda como un raster-ish EPS en lugar de una verdadera gráfico vectorial.

    OriginalEl autor user1165814

  9. 0

    La borrosidad en realidad, depende de que el software de procesamiento de su aplicación de visor o impresora utiliza. Para obtener buenos resultados todo el tiempo, hacer de cada píxel en la imagen de un bloque de 8×8 píxeles del mismo color, es decir, cambiar el tamaño de la imagen como esta:

    im2 = imresize(im1, 8, 'nearest');

    El desenfoque, a continuación, sólo afecta a los píxeles en el borde de cada bloque. Bloques de 8×8 son las mejores, ya que comprimir sin desagradable artefactos de uso de compresión DCT (a veces se utiliza en archivos eps).

    OriginalEl autor user664303

  10. 0

    Esta página me ha ayudado mucho: http://tech.mof-mof.co.jp/blog/machine-learning-octave.html (escrito en Japonés, por favor, utilice el traductor de google)

    Y esto también es útil: Octava-Gnuplot-AquaTerm de error: conjunto de terminales aqua mejorado título «Figura 1″…desconocido tipo de terminal»

    Yo también respondió a https://www.coursera.org/learn/machine-learning/discussions/weeks/2/threads/Dh-aRfqSEeaHSQ6l4xnh6g.

    He reinstalado gnuplot como este:

    $ brew cask install xquartz
    $ brew cask install aquaterm
    $ brew uninstall gnuplot
    $ brew install gnuplot --with-aquaterm --with-x11 --with-qt  # you can show other options by `$ brew options gnuplot`

    Usted puede editar ~/.octaverc como este:

    setenv("GNUTERM", "qt")

    y en la octava de la ventana, después de escribir «el sistema de gnuplot», entonces

    set pm3d interpolate 2, 2

    Después de guardar el archivo, abrir la octava-cli.aplicación y tipo de

    imagesc(magic(3)), colorbar

    Tengo este.

    Cómo exportar no borrosas imágenes eps?

    OriginalEl autor peketamin

Dejar respuesta

Please enter your comment!
Please enter your name here